Re: [PATCH v4 00/11] s390: More this_cpu_*() changes

From: Alexander Gordeev

Date: Sat Sep 26 2026 - 02:53:44 EST


On Mon, Sep 21, 2026 at 05:57:54PM +0200, Heiko Carstens wrote:
...
> Most of this is only about cleaning up the percpu code after preemptible
> this_cpu_*() operations have been implemented. The first ten patches are
> all more or less trivial cleanup patches trying to make the code shorter
> and more readable.
>
> The only non-trivial patch is the last one, which converts s390's
> this_cpu_*() operations to use a similar scheme like Mark Rutland
> provided it for arm64 [1]. This allows to simplify the irq entry and exit
> path, however at the cost of slightly worse code for this_cpu_*()
> operations.
>
> The simplified irq entry and exit code seems to be worth it. Usable

To me it absolutely worth it!

> performance numbers are not available yet, however I don't expect big
> difference to before.
>
> [1] https://lore.kernel.org/all/20260904161758.376504-1-mark.rutland@xxxxxxx/
>
> Thanks,
> Heiko
>
> Heiko Carstens (11):
> s390/percpu: Fix comment typo
> s390/percpu: Add sanity check to GEN_MVIY macro
> s390/lowcore: Remove _AC() from LOWCORE_ALT_ADDRESS
> s390/percpu: Let MVIY_PERCPU() calculate alternative displacement
> s390/percpu/lowcore: Add and use LC_PERCPU lowcore offset defines
> s390/percpu: Rename inline assembly symbolic names
> s390/percpu: Use __PCPU_BEGIN() and __PCPU_END() for inline assemblies
> s390/percpu: Use percpu code section for this_cpu_cmpxchg128()
> s390/percpu: Use percpu code section for this_cpu_xchg()
> s390/percpu: Use percpu code section for this_cpu_cmpxchg()
> s390/percpu: Rework to simplify percpu_entry() and percpu_exit()
>
> arch/s390/include/asm/entry-percpu.h | 71 ++----
> arch/s390/include/asm/lowcore.h | 5 +-
> arch/s390/include/asm/percpu.h | 354 +++++++++++++++++----------
> arch/s390/kernel/irq.c | 10 +-
> arch/s390/kernel/nmi.c | 4 +-
> arch/s390/kernel/traps.c | 4 +-
> 6 files changed, 248 insertions(+), 200 deletions(-)

Acked-by: Alexander Gordeev <agordeev@xxxxxxxxxxxxx>