[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