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

From: Shrikanth Hegde

Date: Fri Jul 31 2026 - 04:03:28 EST


Hi.

On 7/31/26 12:48 PM, Jirka Hladky wrote:
On Fri, Jul 31, 2026 at 7:03 AM Christophe Leroy (CS GROUP)
<chleroy@xxxxxxxxxx> 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 <paulmck@xxxxxxxxxx>
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.