* [PATCH] powerpc: always enable queued spinlocks for 64s, disable for others
@ 2020-12-21 3:22 Nicholas Piggin
2020-12-21 6:04 ` Christophe Leroy
0 siblings, 1 reply; 3+ messages in thread
From: Nicholas Piggin @ 2020-12-21 3:22 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Nicholas Piggin
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>
---
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] powerpc: always enable queued spinlocks for 64s, disable for others
2020-12-21 3:22 [PATCH] powerpc: always enable queued spinlocks for 64s, disable for others Nicholas Piggin
@ 2020-12-21 6:04 ` Christophe Leroy
2020-12-22 3:28 ` Nicholas Piggin
0 siblings, 1 reply; 3+ messages in thread
From: Christophe Leroy @ 2020-12-21 6:04 UTC (permalink / raw)
To: Nicholas Piggin, linuxppc-dev
Le 21/12/2020 à 04:22, Nicholas Piggin a écrit :
> 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>
> ---
> 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
The condition is a bit complicated, and it doesn't set it to Y by default when EXPERT is selected.
> 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
> +
I would do:
config PPC_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
>
Christophe
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] powerpc: always enable queued spinlocks for 64s, disable for others
2020-12-21 6:04 ` Christophe Leroy
@ 2020-12-22 3:28 ` Nicholas Piggin
0 siblings, 0 replies; 3+ messages in thread
From: Nicholas Piggin @ 2020-12-22 3:28 UTC (permalink / raw)
To: Christophe Leroy, linuxppc-dev
Excerpts from Christophe Leroy's message of December 21, 2020 4:04 pm:
>
>
> Le 21/12/2020 à 04:22, Nicholas Piggin a écrit :
>> 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>
>> ---
>> 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
>
> The condition is a bit complicated, and it doesn't set it to Y by default when EXPERT is selected.
Yeah, I don't know how to do that (switch people's oldconfig from =N to
=Y) otherwise (without renaming the option). I think it's enough though,
experts should have said yes already :)
>
>> 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
>> +
>
> I would do:
>
> config PPC_QUEUED_SPINLOCKS
> bool "Queued spinlocks" if EXPERT
> depends on SMP
> default PPC_BOOK3S_64
That's nicer.
Thanks,
Nick
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-12-22 3:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-21 3:22 [PATCH] powerpc: always enable queued spinlocks for 64s, disable for others Nicholas Piggin
2020-12-21 6:04 ` Christophe Leroy
2020-12-22 3:28 ` Nicholas Piggin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox