On Tue, Jun 21, 2022 at 4:42 AM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > On Mon, Jun 20, 2022 at 5:54 PM <guoren@xxxxxxxxxx> wrote: > > >+config RISCV_USE_QUEUED_SPINLOCKS > > + bool "Using queued spinlock instead of ticket-lock" > > Maybe we can just make ARCH_USE_QUEUED_SPINLOCKS > user visible and give users the choice between the two generic > implementations across all architectures that support the qspinlock > variant. > > In arch/riscv, you'd then just have a > > select ARCH_HAVE_QUEUED_SPINLOCKS Good point, but I think it should be another cross-arch cleanup patchset, let's put qspinlock in riscv first with the current framework. > > diff --git a/arch/riscv/include/asm/spinlock.h > b/arch/riscv/include/asm/spinlock.h > > new file mode 100644 > > index 000000000000..fd3fd09cff52 > > --- /dev/null > > +++ b/arch/riscv/include/asm/spinlock.h > > @@ -0,0 +1,12 @@ > > +/* SPDX-License-Identifier: GPL-2.0 */ > > +#ifndef __ASM_SPINLOCK_H > > +#define __ASM_SPINLOCK_H > > + > > +#ifdef CONFIG_ARCH_USE_QUEUED_SPINLOCKS > > +#include <asm/qspinlock.h> > > +#include <asm/qrwlock.h> > > +#else > > +#include <asm-generic/spinlock.h> > > +#endif > > + > > Along the same lines: > > I think I'd prefer the header changes to be done in the asm-generic > version of this file, so this can be shared across all architectures > that want to give the choice between ticket and queued spinlock. I would put the above part in the series, but they would base on the riscv qspinlock patch. > > Arnd -- Best Regards Guo Ren ML: https://lore.kernel.org/linux-csky/