[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YG1/xRgWlLHD4j/8@hirez.programming.kicks-ass.net>
Date: Wed, 7 Apr 2021 11:47:49 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Stafford Horne <shorne@...il.com>
Cc: Boqun Feng <boqun.feng@...il.com>, guoren@...nel.org,
linux-arch@...r.kernel.org, linux-xtensa@...ux-xtensa.org,
Guo Ren <guoren@...ux.alibaba.com>,
Arnd Bergmann <arnd@...db.de>, Will Deacon <will@...nel.org>,
linux-kernel@...r.kernel.org, linux-csky@...r.kernel.org,
openrisc@...ts.librecores.org, Anup Patel <anup@...infault.org>,
sparclinux@...r.kernel.org, Waiman Long <longman@...hat.com>,
linux-riscv@...ts.infradead.org, linuxppc-dev@...ts.ozlabs.org,
Ingo Molnar <mingo@...hat.com>
Subject: Re: [OpenRISC] [PATCH v6 1/9] locking/qspinlock: Add
ARCH_USE_QUEUED_SPINLOCKS_XCHG32
On Wed, Apr 07, 2021 at 08:52:08AM +0900, Stafford Horne wrote:
> Why doesn't RISC-V add the xchg16 emulation code similar to OpenRISC? For
> OpenRISC we added xchg16 and xchg8 emulation code to enable qspinlocks. So
> one thought is with CONFIG_ARCH_USE_QUEUED_SPINLOCKS_XCHG32=y, can we remove our
> xchg16/xchg8 emulation code?
CONFIG_ARCH_USE_QUEUED_SPINLOCKS_XCHG32 is guaranteed crap.
All the architectures that have wanted it are RISC style LL/SC archs,
and for them a cmpxchg loop is a daft thing to do, since it reduces the
chance of it behaving sanely.
Why would we provide something that's known to be suboptimal? If an
architecture chooses to not care about determinism and or fwd progress,
then that's their choice. But not one, I feel, we should encourage.
Powered by blists - more mailing lists