All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: K Prateek Nayak <kprateek.nayak@amd.com>
Cc: "Arnd Bergmann" <arnd@arndb.de>,
	"Thomas Gleixner" <tglx@kernel.org>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Sebastian Andrzej Siewior" <bigeasy@linutronix.de>,
	"Charlie Jenkins" <thecharlesjenkins@gmail.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	x86@kernel.org, "Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>, "Paul Walmsley" <pjw@kernel.org>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Alexandre Ghiti" <alex@ghiti.fr>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Alexander Gordeev" <agordeev@linux.ibm.com>,
	"Darren Hart" <dvhart@infradead.org>,
	"Davidlohr Bueso" <dave@stgolabs.net>,
	"André Almeida" <andrealmeid@igalia.com>,
	linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Sean Christopherson" <seanjc@google.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Jisheng Zhang" <jszhang@kernel.org>,
	"Ben Dooks" <ben.dooks@codethink.co.uk>,
	"Samuel Holland" <samuel.holland@sifive.com>,
	"Radim Krčmář" <rkrcmar@ventanamicro.com>,
	"Guo Ren" <guoren@kernel.org>,
	"Christian Borntraeger" <borntraeger@linux.ibm.com>,
	"Sven Schnelle" <svens@linux.ibm.com>
Subject: Re: [PATCH v6 8/8] futex: Use runtime constants for __futex_hash() hot path
Date: Tue, 28 Jul 2026 13:08:06 +0200	[thread overview]
Message-ID: <20260728110806.GJ49951@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <20260728104653.GH49951@noisy.programming.kicks-ass.net>

On Tue, Jul 28, 2026 at 12:46:53PM +0200, Peter Zijlstra wrote:
> On Tue, Jul 28, 2026 at 05:25:40AM +0000, K Prateek Nayak wrote:
> > From: Peter Zijlstra <peterz@infradead.org>
> > 
> > Runtime constify the read-only after init data  __futex_shift(shift_32),
> > __futex_mask(mask_32), and __futex_queues(ptr) used in __futex_hash()
> > hot path to avoid referencing global variable.
> > 
> > This also allows __futex_queues to be allocated dynamically to
> > "nr_node_ids" slots instead of reserving config dependent MAX_NUMNODES
> > (1 << CONFIG_NODES_SHIFT) worth of slots upfront.
> > 
> > Runtime constants are initialized before their first access and
> > runtime_const_init() provides necessary barrier to ensure subsequent
> > accesses are not reordered against their initialization.
> > 
> > No functional changes intended.
> > 
> >   [ prateek: Dynamically allocate __futex_queues, mark the global data
> >     __ro_after_init since they are constified after futex_init(). ]
> > 
> > Link: https://patch.msgid.link/20260227161841.GH606826@noisy.programming.kicks-ass.net
> > Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> # MAX_NUMNODES bloat
> > Signed-off-by: Peter Zijlstra <peterz@infradead.org>
> > Reviewed-by: Charlie Jenkins <thecharlesjenkins@gmail.com>
> > Tested-by: Charlie Jenkins <thecharlesjenkins@gmail.com>
> > Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
> > ---
> > changelog v5..v6:
> > 
> > o Picked up tags from Charlie. (Thanks a ton!)
> > 
> > o Picked up Peter's S-o-b from his tree.
> 
> Right, so I also munged the Changelog in my tree to include those
> benchmark results. I failed to actually push out those patches before
> disappearing on holidays, but I recon I should refresh them patches and
> re-munge the changelog?

With a bit of luck I didn't wreck things and this new version should now
be available in queue/locking/core.

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Peter Zijlstra <peterz@infradead.org>
To: K Prateek Nayak <kprateek.nayak@amd.com>
Cc: "Arnd Bergmann" <arnd@arndb.de>,
	"Thomas Gleixner" <tglx@kernel.org>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Sebastian Andrzej Siewior" <bigeasy@linutronix.de>,
	"Charlie Jenkins" <thecharlesjenkins@gmail.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	x86@kernel.org, "Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>, "Paul Walmsley" <pjw@kernel.org>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Alexandre Ghiti" <alex@ghiti.fr>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Vasily Gorbik" <gor@linux.ibm.com>,
	"Alexander Gordeev" <agordeev@linux.ibm.com>,
	"Darren Hart" <dvhart@infradead.org>,
	"Davidlohr Bueso" <dave@stgolabs.net>,
	"André Almeida" <andrealmeid@igalia.com>,
	linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-s390@vger.kernel.org, linux-riscv@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Sean Christopherson" <seanjc@google.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Jisheng Zhang" <jszhang@kernel.org>,
	"Ben Dooks" <ben.dooks@codethink.co.uk>,
	"Samuel Holland" <samuel.holland@sifive.com>,
	"Radim Krčmář" <rkrcmar@ventanamicro.com>,
	"Guo Ren" <guoren@kernel.org>,
	"Christian Borntraeger" <borntraeger@linux.ibm.com>,
	"Sven Schnelle" <svens@linux.ibm.com>
Subject: Re: [PATCH v6 8/8] futex: Use runtime constants for __futex_hash() hot path
Date: Tue, 28 Jul 2026 13:08:06 +0200	[thread overview]
Message-ID: <20260728110806.GJ49951@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <20260728104653.GH49951@noisy.programming.kicks-ass.net>

On Tue, Jul 28, 2026 at 12:46:53PM +0200, Peter Zijlstra wrote:
> On Tue, Jul 28, 2026 at 05:25:40AM +0000, K Prateek Nayak wrote:
> > From: Peter Zijlstra <peterz@infradead.org>
> > 
> > Runtime constify the read-only after init data  __futex_shift(shift_32),
> > __futex_mask(mask_32), and __futex_queues(ptr) used in __futex_hash()
> > hot path to avoid referencing global variable.
> > 
> > This also allows __futex_queues to be allocated dynamically to
> > "nr_node_ids" slots instead of reserving config dependent MAX_NUMNODES
> > (1 << CONFIG_NODES_SHIFT) worth of slots upfront.
> > 
> > Runtime constants are initialized before their first access and
> > runtime_const_init() provides necessary barrier to ensure subsequent
> > accesses are not reordered against their initialization.
> > 
> > No functional changes intended.
> > 
> >   [ prateek: Dynamically allocate __futex_queues, mark the global data
> >     __ro_after_init since they are constified after futex_init(). ]
> > 
> > Link: https://patch.msgid.link/20260227161841.GH606826@noisy.programming.kicks-ass.net
> > Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> # MAX_NUMNODES bloat
> > Signed-off-by: Peter Zijlstra <peterz@infradead.org>
> > Reviewed-by: Charlie Jenkins <thecharlesjenkins@gmail.com>
> > Tested-by: Charlie Jenkins <thecharlesjenkins@gmail.com>
> > Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
> > ---
> > changelog v5..v6:
> > 
> > o Picked up tags from Charlie. (Thanks a ton!)
> > 
> > o Picked up Peter's S-o-b from his tree.
> 
> Right, so I also munged the Changelog in my tree to include those
> benchmark results. I failed to actually push out those patches before
> disappearing on holidays, but I recon I should refresh them patches and
> re-munge the changelog?

With a bit of luck I didn't wreck things and this new version should now
be available in queue/locking/core.


  reply	other threads:[~2026-07-28 11:08 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-28  5:25 [PATCH v6 0/8] futex: Use runtime constants for futex_hash computation K Prateek Nayak
2026-07-28  5:25 ` K Prateek Nayak
2026-07-28  5:25 ` [PATCH v6 1/8] x86/runtime-const: Introduce runtime_const_mask_32() K Prateek Nayak
2026-07-28  5:25   ` K Prateek Nayak
2026-07-28  5:37   ` sashiko-bot
2026-07-28  8:21     ` K Prateek Nayak
2026-07-28  5:25 ` [PATCH v6 2/8] arm64/runtime-const: Use aarch64_insn_patch_text_nosync() for patching K Prateek Nayak
2026-07-28  5:25   ` K Prateek Nayak
2026-07-28  5:35   ` sashiko-bot
2026-07-28  5:25 ` [PATCH v6 3/8] arm64/runtime-const: Introduce runtime_const_mask_32() K Prateek Nayak
2026-07-28  5:25   ` K Prateek Nayak
2026-07-28  5:36   ` sashiko-bot
2026-07-28  5:25 ` [PATCH v6 4/8] riscv/runtime-const: Replace open-coded placeholder with RUNTIME_MAGIC K Prateek Nayak
2026-07-28  5:25   ` K Prateek Nayak
2026-07-28  5:34   ` sashiko-bot
2026-07-28  5:25 ` [PATCH v6 5/8] riscv/runtime-const: Introduce runtime_const_mask_32() K Prateek Nayak
2026-07-28  5:25   ` K Prateek Nayak
2026-07-28  5:38   ` sashiko-bot
2026-07-28  5:25 ` [PATCH v6 6/8] s390/runtime-const: " K Prateek Nayak
2026-07-28  5:25   ` K Prateek Nayak
2026-07-28  5:36   ` sashiko-bot
2026-07-28  5:25 ` [PATCH v6 7/8] asm-generic/runtime-const: Add dummy runtime_const_mask_32() K Prateek Nayak
2026-07-28  5:25   ` K Prateek Nayak
2026-07-28  5:34   ` sashiko-bot
2026-07-28  5:25 ` [PATCH v6 8/8] futex: Use runtime constants for __futex_hash() hot path K Prateek Nayak
2026-07-28  5:25   ` K Prateek Nayak
2026-07-28  5:42   ` sashiko-bot
2026-07-28 10:46   ` Peter Zijlstra
2026-07-28 10:46     ` Peter Zijlstra
2026-07-28 11:08     ` Peter Zijlstra [this message]
2026-07-28 11:08       ` Peter Zijlstra

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=20260728110806.GJ49951@noisy.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=agordeev@linux.ibm.com \
    --cc=alex@ghiti.fr \
    --cc=andrealmeid@igalia.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=arnd@arndb.de \
    --cc=ben.dooks@codethink.co.uk \
    --cc=bigeasy@linutronix.de \
    --cc=borntraeger@linux.ibm.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=dave@stgolabs.net \
    --cc=dvhart@infradead.org \
    --cc=gor@linux.ibm.com \
    --cc=guoren@kernel.org \
    --cc=hca@linux.ibm.com \
    --cc=hpa@zytor.com \
    --cc=jszhang@kernel.org \
    --cc=kprateek.nayak@amd.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=palmer@dabbelt.com \
    --cc=pjw@kernel.org \
    --cc=rkrcmar@ventanamicro.com \
    --cc=samuel.holland@sifive.com \
    --cc=seanjc@google.com \
    --cc=svens@linux.ibm.com \
    --cc=tglx@kernel.org \
    --cc=thecharlesjenkins@gmail.com \
    --cc=thuth@redhat.com \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.