Re: [PATCH v4 1/1] powerpc: enable dynamic preemption

Shrikanth Hegde <[email protected]> Fri, 31 Jul 2026 13:32:27 +0530
Newsgroups org.ozlabs.lists.linuxppc-dev,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hi.

On 7/31/26 12:48 PM, Jirka Hladky wrote:
> On Fri, Jul 31, 2026 at 7:03 AM Christophe Leroy (CS GROUP)
> <[email protected]> wrote:
>>
>>
>>
>> Le 30/07/2026 à 19:10, Shrikanth Hegde a écrit :
>>> Hi Jirka, Paul,
>>>
>>>
>>> +cc will
>>>
>>> On 7/30/26 8:38 PM, Jirka Hladky wrote:
>>>> On Thu, Jul 30, 2026 at 4:53 PM Paul E. McKenney <[email protected]>
>>>> wrote:
>>>>> But is this really a fundamental RISC cost?  For example, does arm64
>>>>> see the same performance issues?
>>>>
>>>> We tested arm64 (Ampere Altra Max) with the same controlled
>>>> experiment -- two 6.18 kernels, both voluntary, differing only in
>>>> PREEMPT_DYNAMIC:
>>>>
>>>> Arch     PREEMPT_DYNAMIC   kill bogo-ops/sec   Delta
>>>> -------  ---------------   -----------------   -----
>>>> ppc64le  off               108,836
>>>> ppc64le  on                 68,197             -37.3%
>>>> aarch64  off                 5,538
>>>> aarch64  on                  5,082              -8.2%
>>>>
>>>> arm64 sees -8.2% vs ppc64le's -37.3%. So arm64 is affected but
>>>> much less severely.
>>>
>>> Ouch!. But that's good to know.
>>
>> Might be a stupid question, but what is your .config ?
>> Are you sure it doesn't contain CONFIG_DEBUG_PREEMPT ?
> 
> I have double-checked that and it's not set:
> # CONFIG_DEBUG_PREEMPT is not set
> 
> Thanks
> Jirka
> 

Coming into numbers, I did notice later, arm64 numbers are almost 20x less.
I believe you are having similar core count or benchmark is same.

But if we compare the time taken for each operations, it tells a different story.
		
	    PREEMPT_DYNAMIC
ppc64le 	off 		108836 ops/s =   9.19 us/op
ppc64le 	on   		68197 ops/s  =  14.66 us/op
delta                                           +5.47 us/op

aarch64 	off   		5538 ops/s = 180.57 us/op
aarch64 	on    		5082 ops/s = 196.77 us/op
delta                         		     +16.20 us/op

PS: I tried porting some of those changes in arm64 to powerpc to split preempt count into
two. but i don;t see much improvement there. If i see get better numbers i will reply with
that.