Linux s390 Architecture development
 help / color / mirror / Atom feed
From: Heiko Carstens <hca@linux.ibm.com>
To: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Ilya Leoshkevich <iii@linux.ibm.com>,
	Sven Schnelle <svens@linux.ibm.com>,
	Vasily Gorbik <gor@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org
Subject: Re: [PATCH 2/4] s390/percpu: Drop unused output register from arch_this_cpu_add()
Date: Mon, 12 Oct 2026 16:16:43 +0200	[thread overview]
Message-ID: <20261012141643.19350G0b-hca@linux.ibm.com> (raw)
In-Reply-To: <4907dbfd-3c5c-483b-be25-b0df83af2d20-agordeev@linux.ibm.com>

On Mon, Oct 12, 2026 at 03:24:20PM +0200, Alexander Gordeev wrote:
> On Mon, Oct 12, 2026 at 01:42:47PM +0200, Heiko Carstens wrote:
> > The laa/laag instructions return the old memory content, but
> > arch_this_cpu_add() does not need it. Instead of allocating a dedicated
> > output register old__ just to discard the returned value, change the
> > val__ constraint from "d" to "+&d" so it is used as input/output
> > register.
> > 
> > This reduces register pressure.
> 
> Do you know whether the compiler is may be smart enough to select the
> same register for old and val himself?

In theory, if the constraints would allow that, yes. But for the preemptible
percpu inline asm all output operands need to be early clobbered. Therefore
gcc is forced to not do that.

> My concern is if we force the compiler to do so we might lose optimiztions
> where the val could be reused after the op.

The overall size change of the kernel image is six bytes :).
I guess we shouldn't spend too much time with this.

  reply	other threads:[~2026-10-12 14:16 UTC|newest]

Thread overview: 16+ 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 ` [PATCH 1/4] s390/percpu: Use asm_inline for arch_this_cpu_add() Heiko Carstens
2026-10-12 11:46   ` sashiko-bot
2026-10-12 12:41   ` 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 11:51   ` sashiko-bot
2026-10-12 13:24   ` Alexander Gordeev
2026-10-12 14:16     ` Heiko Carstens [this message]
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 11:54   ` sashiko-bot
2026-10-12 12:18     ` 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 11:51   ` sashiko-bot
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=20261012141643.19350G0b-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=iii@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