Re: [PATCH v3 0/9] s390: Improve this_cpu operations
From: Christoph Lameter (Ampere)
Date: Wed May 27 2026 - 15:09:58 EST
On Fri, 22 May 2026, Heiko Carstens wrote:
> Also with the current proposal I only did some quick micro benchmarks,
> which resulted in 0-1% improvement, which is in the expected range.
>
> It is amazing to see the performance improvements you see on arm64, however
> I believe that is mainly because of the large amount of code which is
> generated by the arm64 implementations of the preempt primitives
> __preempt_count_add() and __preempt_count_dec_and_test().
The code is generated if you have no arch specific per cpu mechanism and
preemption must be supported. We have now the situation that we cannot
switch off preemption support anymore.
It seem that S390 has this mechanism in a small way and therefore can
avoid the preempt enable/disable.
It is not the quantity of code here. The preempt enable/disable can only
be avoided if there is a single instruction doing the per cpu operation. A
single instruction cannot be interupted and therefore is preemption safe.
> That's a big difference to s390: for both primitives the result is a single
> instruction.
Ok then you can already use single instructions like x86 and will not have
preempt enable/disable overhead.
I am not sure what David Laight's code is supposed to do. Seems weird to
me.