Re: [patch] tlb flush_data: replace per_cpu with an array

Ingo Molnar
2009-01-13T12:33:38Z

* Peter Zijlstra <peterz@infradead.org> wrote:

> > - char pad[SMP_CACHE_BYTES];
> > -} ____cacheline_aligned;
> > + char pad[X86_INTERNODE_CACHE_BYTES];
> > +} ____cacheline_internodealigned_in_smp;
>
> That will make the below array 8*4096 bytes for VSMP, which pushes the
> limit for memory savings up to 256 cpus.

VSMP is a clustering solution (default-disabled) that pushes
L1_CACHE_BYTES to 4096 bytes (4K). That is an extremely large alignment
that pushes up the BSS size ten-fold (!), so no generic Linux distribution
enables it. 32K compared to 9MB bloat caused by 4K cachelines is a drop in
the ocean.

Ingo