On Mon, Apr 09, 2007 at 03:17:05PM -0700, Siddha, Suresh B wrote:
> On Mon, Apr 09, 2007 at 02:53:09PM -0700, Ravikiran G Thirumalai wrote:
> > On Mon, Apr 09, 2007 at 01:40:57PM -0700, Andrew Morton wrote:
> > > On Mon, 9 Apr 2007 11:08:53 -0700
> > > "Siddha, Suresh B" <[email protected]> wrote:
>
> Kiran, can you educate me when I am supposed to use
> ____cacheline_aligned_in_smp
> Vs
> __cacheline_aligned_in_smp ?
As far as my understanding goes, the four underscore version is for
aligning members/elements within a data structure, and the two underscore
version is for aligning statically defined variables.
The dual underscore version places the variable in a separate section meant
for cacheline aligned variables, so that there is no false sharing on the
cacheline with a consecutive datum. For regular statically defined data
structures, the latter has to be used, but since your patch uses per-cpu data,
which is already in a separate section, you had to use the former I guess.
>
> > As for the (linesize-4 * NR_CPUS) wastage, maybe we can place the cacheline
> > aligned per-cpu data in another section, just like we do with
> > .data.cacheline_aligned section, but keep this new section between
> > __percpu_start and __percpu_end?
>
> Yes. But that will still waste some memory in the new section, if the data
> elements are not multiples of 4k.
Yes. But the wastage depends on the data structure now being aligned rather
than the structure that happened to be there before. You cannot not lose
memory while padding I guess :). But padding for per-cpu data seems a bit
odd and I am not sure if it is worth it for 0.5% gain.
Thanks,
Kiran
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]