lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z8bOIXeWYycUEmp4@gmail.com>
Date: Tue, 4 Mar 2025 10:55:45 +0100
From: Ingo Molnar <mingo@...nel.org>
To: Uros Bizjak <ubizjak@...il.com>
Cc: Brian Gerst <brgerst@...il.com>, linux-kernel@...r.kernel.org,
	x86@...nel.org, "H . Peter Anvin" <hpa@...or.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Borislav Petkov <bp@...en8.de>, Ard Biesheuvel <ardb@...nel.org>,
	Linus Torvalds <torvalds@...uxfoundation.org>,
	Andy Lutomirski <luto@...nel.org>,
	Peter Zijlstra <peterz@...radead.org>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH v3 00/11] Add a percpu subsection for cache hot data


* Uros Bizjak <ubizjak@...il.com> wrote:

> On Tue, Mar 4, 2025 at 10:48 AM Ingo Molnar <mingo@...nel.org> wrote:
> >
> >
> > * Brian Gerst <brgerst@...il.com> wrote:
> >
> > > On Tue, Mar 4, 2025 at 3:47 AM Ingo Molnar <mingo@...nel.org> wrote:
> > > >
> > > >
> > > > * Brian Gerst <brgerst@...il.com> wrote:
> > > >
> > > > > >
> > > > > > -       PERCPU_SECTION(INTERNODE_CACHE_BYTES)
> > > > > > +       PERCPU_SECTION(L1_CACHE_BYTES)
> > > > > >         ASSERT(__per_cpu_hot_end - __per_cpu_hot_start <= 64, "percpu cache hot section too large")
> > > > > >
> > > > > >         RUNTIME_CONST_VARIABLES
> > > > > >
> > > > >
> > > > > That is probably the right call.  The initial percpu section is just
> > > > > used by the boot cpu early and as a template for the dynamically
> > > > > allocated percpu memory, which should account for the proper
> > > > > alignment for NUMA.
> > > >
> > > > Okay.
> > > >
> > > > Randconfig testing found another corner case with the attached config:
> > > >
> > > >     KSYMS   .tmp_vmlinux0.kallsyms.S
> > > >     AS      .tmp_vmlinux0.kallsyms.o
> > > >     LD      .tmp_vmlinux1
> > > >   ld: percpu cache hot section too large
> > > >   make[2]: *** [scripts/Makefile.vmlinux:77: vmlinux] Error 1
> > > >
> > > > (I haven't figured out the root cause yet.)
> > >
> > > CONFIG_MPENTIUM4 sets X86_L1_CACHE_SHIFT to 7 (128 bytes).
> >
> > Hm, to resolve this I'd go for the easy out of explicitly using '64' as
> > the size limit - like we did it in the C space.
> 
> Why not simply:
> 
> ASSERT(__per_cpu_hot_end - __per_cpu_hot_start <= L1_CACHE_BYTES, "...")
> 
> ?

I don't think it's a great idea to randomly allow a larger section 
depending on the .config ... The *actual* intended limit is 64, not 128 
and not 4096, so I'd suggest we write it out as before.

Thanks,

	Ingo

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ