[PATCH v6 6/9] openrisc: qspinlock: Add ARCH_USE_QUEUED_SPINLOCKS_XCHG32

Stafford Horne shorne at gmail.com
Tue Apr 6 09:56:59 BST 2021


On Wed, Mar 31, 2021 at 02:30:37PM +0000, guoren at kernel.org wrote:
> From: Guo Ren <guoren at linux.alibaba.com>
> 
> We don't have native hw xchg16 instruction, so let qspinlock
> generic code to deal with it.
> 
> Using the full-word atomic xchg instructions implement xchg16 has
> the semantic risk for atomic operations.
> 
> This patch cancels the dependency of on qspinlock generic code on
> architecture's xchg16.
> 
> Signed-off-by: Guo Ren <guoren at linux.alibaba.com>
> Cc: Arnd Bergmann <arnd at arndb.de>
> Cc: Jonas Bonn <jonas at southpole.se>
> Cc: Stefan Kristiansson <stefan.kristiansson at saunalahti.fi>
> Cc: Stafford Horne <shorne at gmail.com>
> Cc: openrisc at lists.librecores.org

Acked-by: Stafford Horne <shorne at gmail.com>

> ---
>  arch/openrisc/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> index 591acc5990dc..b299e409429f 100644
> --- a/arch/openrisc/Kconfig
> +++ b/arch/openrisc/Kconfig
> @@ -33,6 +33,7 @@ config OPENRISC
>  	select OR1K_PIC
>  	select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
>  	select ARCH_USE_QUEUED_SPINLOCKS
> +	select ARCH_USE_QUEUED_SPINLOCKS_XCHG32
>  	select ARCH_USE_QUEUED_RWLOCKS
>  	select OMPIC if SMP
>  	select ARCH_WANT_FRAME_POINTERS
> -- 
> 2.17.1
> 



More information about the linux-riscv mailing list