diff mbox series

[3/7] MIPS: csrc-r4k: Select HAVE_UNSTABLE_SCHED_CLOCK if 64BIT

Message ID 20240511-mips-clks-v1-3-ddb4a10ee9f9@flygoat.com (mailing list archive)
State New
Headers show
Series MIPS: clocksource cumulative enhancements | expand

Commit Message

Jiaxun Yang May 11, 2024, 4 p.m. UTC
csrc-r4k suffers from SMP synchronization overhead.

Select HAVE_UNSTABLE_SCHED_CLOCK to workaround drift
between the CPUs on the system. HAVE_UNSTABLE_SCHED_CLOCK
requires cmpxchg64, so enable it for 64 bits only.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
 arch/mips/Kconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Maciej W. Rozycki June 1, 2024, 10:30 p.m. UTC | #1
On Sat, 11 May 2024, Jiaxun Yang wrote:

> csrc-r4k suffers from SMP synchronization overhead.
[...]
> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> index f1aa1bf11166..fa8ca0287568 100644
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -1083,6 +1083,7 @@ config CSRC_IOASIC
>  
>  config CSRC_R4K
>  	select CLOCKSOURCE_WATCHDOG if CPU_FREQ
> +	select HAVE_UNSTABLE_SCHED_CLOCK if 64BIT

 Shouldn't it be:

	select HAVE_UNSTABLE_SCHED_CLOCK if 64BIT && SMP

then?

  Maciej
Jiaxun Yang June 4, 2024, 2:51 p.m. UTC | #2
在2024年6月1日六月 下午11:30,Maciej W. Rozycki写道:
> On Sat, 11 May 2024, Jiaxun Yang wrote:
>
>> csrc-r4k suffers from SMP synchronization overhead.
> [...]
>> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
>> index f1aa1bf11166..fa8ca0287568 100644
>> --- a/arch/mips/Kconfig
>> +++ b/arch/mips/Kconfig
>> @@ -1083,6 +1083,7 @@ config CSRC_IOASIC
>>  
>>  config CSRC_R4K
>>  	select CLOCKSOURCE_WATCHDOG if CPU_FREQ
>> +	select HAVE_UNSTABLE_SCHED_CLOCK if 64BIT
>
>  Shouldn't it be:
>
> 	select HAVE_UNSTABLE_SCHED_CLOCK if 64BIT && SMP

This option is not depending on SMP on x86 and PARISC, so I followed
the same approach.

But yes, it makes sense to depend on SMP.

Thanks
>
> then?
>
>   Maciej
diff mbox series

Patch

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index f1aa1bf11166..fa8ca0287568 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1083,6 +1083,7 @@  config CSRC_IOASIC
 
 config CSRC_R4K
 	select CLOCKSOURCE_WATCHDOG if CPU_FREQ
+	select HAVE_UNSTABLE_SCHED_CLOCK if 64BIT
 	bool
 
 config CSRC_SB1250