Re: [PATCH v3 00/11] Add a percpu subsection for cache hot data

From: Brian Gerst
Date: Tue Mar 04 2025 - 04:35:43 EST


On Tue, Mar 4, 2025 at 3:47 AM Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
>
> * Brian Gerst <brgerst@xxxxxxxxx> 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).


Brian Gerst