[PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
    John Baldwin 
    jhb at freebsd.org
       
    Tue Jul 25 16:34:06 UTC 2006
    
    
  
On Tuesday 25 July 2006 11:14, Attilio Rao wrote:
> 2006/7/25, Attilio Rao <attilio at freebsd.org>:
> > Hi,
> > Intel documentation points out that having a 128-bytes aligned
> > syncronizing primitive  (which fits in a cache line) will minimize the
> > traffic for cache bus, so this patch implements an alignment for i386
> > on turnstiles.
> >
> > Any comments, feedbacks?
> 
> Oh, sorry, I've unforgotten the diff.
> 
> Attilio
I think a better approach would be to stick turnstiles (and sleepqueues) in a 
UMA zone and specify cache-size alignment to the zone.  However, turnstiles 
aren't really sychronization primitives in that you don't spin on a variable 
inside the structure, and I think it's the spinning and avoiding bouncing 
cache lines around that Intel's documentation is really about.  In that case, 
the things you want aligned are things like mutexes, rwlocks, etc.
-- 
John Baldwin
    
    
More information about the freebsd-arch
mailing list