Date: Tue, 25 Jul 2006 12:32:50 -0400 From: John Baldwin <jhb@freebsd.org> To: "Attilio Rao" <attilio@freebsd.org> Cc: freebsd-arch@freebsd.org Subject: Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs Message-ID: <200607251232.51230.jhb@freebsd.org> In-Reply-To: <3bbf2fe10607250814m1a476f09p2d962dedc0c99be1@mail.gmail.com> References: <3bbf2fe10607250813w8ff9e34pc505bf290e71758@mail.gmail.com> <3bbf2fe10607250814m1a476f09p2d962dedc0c99be1@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 25 July 2006 11:14, Attilio Rao wrote: > 2006/7/25, Attilio Rao <attilio@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607251232.51230.jhb>