From: Heiko Carstens <hca@linux.ibm.com>
To: Alexander Gordeev <agordeev@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org
Subject: [PATCH 1/4] s390/percpu: Use asm_inline for arch_this_cpu_add()
Date: Mon, 12 Oct 2026 13:42:46 +0200 [thread overview]
Message-ID: <20261012114249.2898572-2-hca@linux.ibm.com> (raw)
In-Reply-To: <20261012114249.2898572-1-hca@linux.ibm.com>
When converting to preemptible percpu operations the arch_this_cpu_add()
inline assemblies were not converted to use asm_inline instead of a plain
asm statement.
With all the macro usage the inline assemblies grow significantly, and
the compiler may decide to not inline even small functions. This can be
observed with gcc16 and a defconfig build where many calls to
__srcu_read_lock_fast() are not inlined anymore, even though it is
basically only a this_cpu_inc().
Use asm_inline to address this.
Fixes: 18ec6c5d7ec6 ("s390/percpu: Use new percpu code section for arch_this_cpu_add()")
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
---
arch/s390/include/asm/percpu.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/s390/include/asm/percpu.h b/arch/s390/include/asm/percpu.h
index c3995bd8d1de..dfab41b43b8b 100644
--- a/arch/s390/include/asm/percpu.h
+++ b/arch/s390/include/asm/percpu.h
@@ -193,7 +193,7 @@ do { \
ptr__ = PERCPU_PTR(&(pcp)); \
if (__builtin_constant_p(val__) && \
((szcast)val__ > -129) && ((szcast)val__ < 128)) { \
- asm volatile( \
+ asm_inline volatile( \
__PCPU_BEGIN("%[lcreg]","%[lcoff]","%[ptr__]", \
"%[pair__]","%N[pair__]") \
op2 " 0(%N[pair__]),%[val__]\n" \
@@ -206,7 +206,7 @@ do { \
"m" (((struct lowcore *)0)->percpu_offset) \
: "cc"); \
} else { \
- asm volatile( \
+ asm_inline volatile( \
__PCPU_BEGIN("%[lcreg]","%[lcoff]","%[ptr__]", \
"%[pair__]","%N[pair__]") \
op1 " %[old__],%[val__],0(%N[pair__])\n" \
--
2.53.0
next prev parent reply other threads:[~2026-10-12 11:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-12 11:42 [PATCH 0/4] s390/percpu: More small improvements Heiko Carstens
2026-10-12 11:42 ` Heiko Carstens [this message]
2026-10-12 12:41 ` [PATCH 1/4] s390/percpu: Use asm_inline for arch_this_cpu_add() Alexander Gordeev
2026-10-12 11:42 ` [PATCH 2/4] s390/percpu: Drop unused output register from arch_this_cpu_add() Heiko Carstens
2026-10-12 13:24 ` Alexander Gordeev
2026-10-12 14:16 ` Heiko Carstens
2026-10-12 14:34 ` Alexander Gordeev
2026-10-12 11:42 ` [PATCH 3/4] s390/percpu: Drop unused output register from arch_this_cpu_to_op() Heiko Carstens
2026-10-12 14:35 ` Alexander Gordeev
2026-10-12 11:42 ` [PATCH 4/4] s390/percpu: Implement this_cpu_try_cmpxchg() Heiko Carstens
2026-10-12 15:11 ` Alexander Gordeev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261012114249.2898572-2-hca@linux.ibm.com \
--to=hca@linux.ibm.com \
--cc=agordeev@linux.ibm.com \
--cc=borntraeger@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=svens@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®