Re: [PATCH] x86/apic: reduce cache line misses in __x2apic_send_IPI_mask()

From: Eric Dumazet
Date: Thu Oct 07 2021 - 10:04:34 EST


On Thu, Oct 7, 2021 at 12:29 AM Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Wed, Oct 06, 2021 at 08:17:56PM -0700, Eric Dumazet wrote:
> > +/* __x2apic_send_IPI_mask() possibly needs to read
> > + * x86_cpu_to_logical_apicid for all online cpus in a sequential way.
> > + * Using per cpu variable would cost one cache line per cpu.
> > + */
>
> Broken comment style..

I was not sure and ran checkpatch.pl before submission, but sure.

>
> > +static u32 x86_cpu_to_logical_apicid[NR_CPUS] __read_mostly;
>
> NR_CPUS is really sad, could this at all be dynamically allocated? Say
> in x2apic_cluster_probe() ?

Good idea, I will try this.
Hopefully nr_cpu_ids is populated there ?

>
>
> Otherwise this looks very nice!

Thanks !