From: Nathan Chancellor <nathan@kernel.org>
To: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Andy Lutomirski <luto@kernel.org>,
Thomas Gleixner <tglx@kernel.org>, Theodore Ts'o <tytso@mit.edu>,
Vincenzo Frascino <vincenzo.frascino@arm.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Huacai Chen <chenhuacai@kernel.org>,
WANG Xuerui <kernel@xen0n.name>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
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>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, loongarch@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, llvm@lists.linux.dev
Subject: Re: [PATCH v2] random: vDSO: Avoid call to memset() when zeroing reserved in __cvdso_getrandom_data()
Date: Thu, 1 Oct 2026 13:03:10 +0200 [thread overview]
Message-ID: <20261001110310.GA138012@ax162> (raw)
In-Reply-To: <ar46ap4jzLWyP92C@zx2c4.com>
On Thu, Oct 01, 2026 at 12:48:10PM +0200, Jason A. Donenfeld wrote:
> On Thu, Oct 01, 2026 at 12:20:59PM +0200, Nathan Chancellor wrote:
> > control. The change that introduced -max-store-memset only did it to
> > "allow fine-tuning of the inlining threshold for performance analysis
> > and optimization". If they decide to remove it for whatever reason,
> > we're back to square one.
>
> I suppose all the more reason to get -finline-stringops=memset added to
> clang. Then the dual-default thing you came up with below will naturally
> start choosing the first option when it becomes available.
Fair point, I can file an issue with LLVM upstream.
> > I know something like below would be uglier due to the ifdef but it
> > would avoid changing anything for GCC while clearing up the issue at
> > hand for clang in a guaranteed stable and succinct manner.
>
> But then we're back to the byte-by-byte codegen that Christophe pointed
> out.
I thought that was only because the fallback memset_inline() from v2 was
doing a byte-by-byte initialization? With my suggested diff, nothing
should change for GCC, as it does not have __builtin_memset_inline(), so
the "Before the patch" code generation that Christophe showed should
still be present.
> > If that is not acceptable, something like the following does appear to
> > work for me.
>
> Okay, great, let's do that.
>
> Does this commit seem okay with you? I used the diff you sent below and
> adjusted the commit message: https://git.zx2c4.com/linux-rng/commit/?id=56ff95ee85715047eb5b5220243778af657778c8
Yeah, that seems fine to me, thanks for taking care of it!
--
Cheers,
Nathan
WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <nathan@kernel.org>
To: "Jason A. Donenfeld" <Jason@zx2c4.com>
Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
Nick Desaulniers <ndesaulniers@google.com>,
Andy Lutomirski <luto@kernel.org>,
Thomas Gleixner <tglx@kernel.org>, Theodore Ts'o <tytso@mit.edu>,
Vincenzo Frascino <vincenzo.frascino@arm.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Huacai Chen <chenhuacai@kernel.org>,
WANG Xuerui <kernel@xen0n.name>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
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>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, loongarch@lists.linux.dev,
linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,
linux-s390@vger.kernel.org, llvm@lists.linux.dev
Subject: Re: [PATCH v2] random: vDSO: Avoid call to memset() when zeroing reserved in __cvdso_getrandom_data()
Date: Thu, 1 Oct 2026 13:03:10 +0200 [thread overview]
Message-ID: <20261001110310.GA138012@ax162> (raw)
In-Reply-To: <ar46ap4jzLWyP92C@zx2c4.com>
On Thu, Oct 01, 2026 at 12:48:10PM +0200, Jason A. Donenfeld wrote:
> On Thu, Oct 01, 2026 at 12:20:59PM +0200, Nathan Chancellor wrote:
> > control. The change that introduced -max-store-memset only did it to
> > "allow fine-tuning of the inlining threshold for performance analysis
> > and optimization". If they decide to remove it for whatever reason,
> > we're back to square one.
>
> I suppose all the more reason to get -finline-stringops=memset added to
> clang. Then the dual-default thing you came up with below will naturally
> start choosing the first option when it becomes available.
Fair point, I can file an issue with LLVM upstream.
> > I know something like below would be uglier due to the ifdef but it
> > would avoid changing anything for GCC while clearing up the issue at
> > hand for clang in a guaranteed stable and succinct manner.
>
> But then we're back to the byte-by-byte codegen that Christophe pointed
> out.
I thought that was only because the fallback memset_inline() from v2 was
doing a byte-by-byte initialization? With my suggested diff, nothing
should change for GCC, as it does not have __builtin_memset_inline(), so
the "Before the patch" code generation that Christophe showed should
still be present.
> > If that is not acceptable, something like the following does appear to
> > work for me.
>
> Okay, great, let's do that.
>
> Does this commit seem okay with you? I used the diff you sent below and
> adjusted the commit message: https://git.zx2c4.com/linux-rng/commit/?id=56ff95ee85715047eb5b5220243778af657778c8
Yeah, that seems fine to me, thanks for taking care of it!
--
Cheers,
Nathan
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-10-01 11:03 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-25 21:46 [PATCH v2] random: vDSO: Avoid call to memset() when zeroing reserved in __cvdso_getrandom_data() Nathan Chancellor
2026-09-25 21:46 ` Nathan Chancellor
2026-09-25 21:53 ` Nick Desaulniers
2026-09-25 21:53 ` Nick Desaulniers
2026-09-25 21:56 ` Nick Desaulniers
2026-09-25 21:56 ` Nick Desaulniers
2026-09-25 22:00 ` Nick Desaulniers
2026-09-25 22:00 ` Nick Desaulniers
2026-09-25 22:19 ` Nathan Chancellor
2026-09-25 22:19 ` Nathan Chancellor
2026-09-26 6:34 ` Christophe Leroy (CS GROUP)
2026-09-26 6:34 ` Christophe Leroy (CS GROUP)
2026-09-26 10:02 ` Jason A. Donenfeld
2026-09-26 10:02 ` Jason A. Donenfeld
2026-09-26 10:55 ` Christophe Leroy (CS GROUP)
2026-09-26 10:55 ` Christophe Leroy (CS GROUP)
2026-09-26 12:29 ` Jason A. Donenfeld
2026-09-26 12:29 ` Jason A. Donenfeld
2026-09-29 18:24 ` Nick Desaulniers
2026-09-29 18:24 ` Nick Desaulniers
2026-09-30 13:38 ` Nathan Chancellor
2026-09-30 13:38 ` Nathan Chancellor
2026-09-30 14:21 ` Jason A. Donenfeld
2026-09-30 14:21 ` Jason A. Donenfeld
2026-09-30 14:44 ` Jason A. Donenfeld
2026-09-30 14:44 ` Jason A. Donenfeld
2026-09-30 15:13 ` Nathan Chancellor
2026-09-30 15:13 ` Nathan Chancellor
2026-09-30 15:16 ` Jason A. Donenfeld
2026-09-30 15:16 ` Jason A. Donenfeld
2026-10-01 4:41 ` Christophe Leroy (CS GROUP)
2026-10-01 4:41 ` Christophe Leroy (CS GROUP)
2026-10-01 9:25 ` Jason A. Donenfeld
2026-10-01 9:25 ` Jason A. Donenfeld
2026-10-01 10:20 ` Nathan Chancellor
2026-10-01 10:20 ` Nathan Chancellor
2026-10-01 10:48 ` Jason A. Donenfeld
2026-10-01 10:48 ` Jason A. Donenfeld
2026-10-01 11:03 ` Nathan Chancellor [this message]
2026-10-01 11:03 ` Nathan Chancellor
2026-10-02 9:49 ` Nathan Chancellor
2026-10-02 9:49 ` Nathan Chancellor
2026-10-02 10:13 ` Jason A. Donenfeld
2026-10-02 10:13 ` Jason A. Donenfeld
2026-10-02 18:21 ` Christophe Leroy (CS GROUP)
2026-10-02 18:21 ` Christophe Leroy (CS GROUP)
2026-10-02 9:18 ` Christophe Leroy (CS GROUP)
2026-10-02 9:18 ` Christophe Leroy (CS GROUP)
2026-10-02 9:27 ` Jason A. Donenfeld
2026-10-02 9:27 ` Jason A. Donenfeld
2026-09-26 12:39 ` Nathan Chancellor
2026-09-26 12:39 ` Nathan Chancellor
2026-09-25 21:56 ` sashiko-bot
2026-09-26 9:39 ` Andreas Schwab
2026-09-26 9:39 ` Andreas Schwab
2026-09-26 12:19 ` Nathan Chancellor
2026-09-26 12:19 ` Nathan Chancellor
2026-09-26 12:32 ` Jason A. Donenfeld
2026-09-26 12:32 ` Jason A. Donenfeld
2026-09-26 12:49 ` Nathan Chancellor
2026-09-26 12:49 ` Nathan Chancellor
2026-09-27 7:02 ` David Laight
2026-09-27 7:02 ` David Laight
2026-09-29 16:59 ` Nathan Chancellor
2026-09-29 16:59 ` Nathan Chancellor
2026-09-29 17:44 ` David Laight
2026-09-29 17:44 ` David Laight
2026-10-02 10:57 ` Christophe Leroy (CS GROUP)
2026-10-02 10:57 ` Christophe Leroy (CS GROUP)
2026-10-02 10:58 ` Jason A. Donenfeld
2026-10-02 10:58 ` Jason A. Donenfeld
2026-10-02 11:01 ` LEROY Christophe
2026-10-02 11:01 ` LEROY Christophe
2026-10-02 11:02 ` Christophe Leroy (CS GROUP)
2026-10-02 11:02 ` Christophe Leroy (CS GROUP)
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=20261001110310.GA138012@ax162 \
--to=nathan@kernel.org \
--cc=Jason@zx2c4.com \
--cc=agordeev@linux.ibm.com \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=borntraeger@linux.ibm.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=chenhuacai@kernel.org \
--cc=chleroy@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=hpa@zytor.com \
--cc=justinstitt@google.com \
--cc=kernel@xen0n.name \
--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=linuxppc-dev@lists.ozlabs.org \
--cc=llvm@lists.linux.dev \
--cc=loongarch@lists.linux.dev \
--cc=luto@kernel.org \
--cc=maddy@linux.ibm.com \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=morbo@google.com \
--cc=mpe@ellerman.id.au \
--cc=ndesaulniers@google.com \
--cc=npiggin@gmail.com \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=svens@linux.ibm.com \
--cc=tglx@kernel.org \
--cc=tytso@mit.edu \
--cc=vincenzo.frascino@arm.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.