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>
---
Since v1, made the condition simpler as suggested by Christophe.
Verified this works as expected for a bunch of old configs
(e.g., updates old !EXPERT configs to PPC_QUEUED_SPINLOCKS=y if they
were previously =n).

Thanks,
Nick

 arch/powerpc/Kconfig | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 107bb4319e0e..eebb4a8c156c 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -505,18 +505,14 @@ config HOTPLUG_CPU
          Say N if you are unsure.
 
 config PPC_QUEUED_SPINLOCKS
-       bool "Queued spinlocks"
+       bool "Queued spinlocks" if EXPERT
        depends on SMP
+       default 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