powerpc: Always enable queued spinlocks for 64s, disable for others
authorNicholas Piggin <npiggin@gmail.com>
Mon, 18 Jan 2021 12:34:51 +0000 (22:34 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 30 Jan 2021 00:39:32 +0000 (11:39 +1100)
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 <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210118123451.1452206-1-npiggin@gmail.com
arch/powerpc/Kconfig

index 107bb4319e0e069547801826ae8b1dd3341f487b..eebb4a8c156caddc834f5b37ae51373b6a1a5e3a 100644 (file)
@@ -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