Queued spinlocks have shown to have good performance and fairness
properties even on smaller (2 socket) POWER systems. This selects
them automatically for 64s. For other platforms they are de-selected,
the standard spinlock is far simpler and smaller code, and single
chips with a handful of cores is unlikely to show any improvement.

CONFIG_EXPERT still allows this to be changed, e.g., to help debug
performance or correctness issues.

Signed-off-by: Nicholas Piggin <npig...@gmail.com>
---
 arch/powerpc/Kconfig | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index ae7391627054..1f9f9e64d638 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -255,6 +255,7 @@ config PPC
        select PCI_MSI_ARCH_FALLBACKS           if PCI_MSI
        select PCI_SYSCALL                      if PCI
        select PPC_DAWR                         if PPC64
+       select PPC_QUEUED_SPINLOCKS             if !EXPERT && PPC_BOOK3S_64 && 
SMP
        select RTC_LIB
        select SPARSE_IRQ
        select SYSCTL_EXCEPTION_TRACE
@@ -506,16 +507,13 @@ config HOTPLUG_CPU
 config PPC_QUEUED_SPINLOCKS
        bool "Queued spinlocks"
        depends on SMP
+       depends on EXPERT || PPC_BOOK3S_64
+
        help
          Say Y here to use queued spinlocks which give better scalability and
          fairness on large SMP and NUMA systems without harming single threaded
          performance.
 
-         This option is currently experimental, the code is more complex and
-         less tested so it defaults to "N" for the moment.
-
-         If unsure, say "N".
-
 config ARCH_CPU_PROBE_RELEASE
        def_bool y
        depends on HOTPLUG_CPU
-- 
2.23.0

Reply via email to