tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Is there a way to obtain a machine's cache line size?



On Fri, 21 Jan 2011 11:06:20 -0500 (EST)
der Mouse <mouse%Rodents-Montreal.ORG@localhost> wrote:

> > 3. Dynamically allocating data to force its layout on a particular
> > memory boundary will require dereferencing a pointer each time you
> > need to access that data.  You will have better performance if you
> > add padding to your data structure, so that layout is determined
> > during compile time.
> 
> (a) Sometimes the data structure is dynamically allocated, or at least
> accessed via a pointer, anyway.

Quite often it's not the whole structure that causes false sharing,
but certain members of a structure. So if you allocate those members
dynamically you end up with double indirection, e.g. dereference
pointer to a structure, then dereference a pointer to a member of a
structure. This also increases the number of calls to malloc(), which
should be kept to a minimum. 


Home | Main Index | Thread Index | Old Index