[PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs

John Baldwin jhb at freebsd.org
Tue Jan 16 23:06:25 UTC 2007


On Tuesday 16 January 2007 17:54, Attilio Rao wrote:
> 2007/1/16, Ivan Voras <ivoras at fer.hr>:
> > Kip Macy wrote:
> > > x86 pre-P4 had 32-byte cache lines. Thus older processors will not 
benefit.
> >
> > But it does seem to hurt the performance a bit - maybe it's time to add
> > another CPU option like I586_CPU and I686_CPU?
> 
> Well, it is my feeling that probabilly the align_cache parameter
> should be a run-time settled parameter (in particular for ia32 CPUs
> which changed a lot along the years).

Yes.  I think UMA_ALIGN_CACHE should be a magic cookie value and that
the MD code should provide a cache line size to uma(4) during bootup,
and I think you can probably just axe UMA_ALIGN_SYNC and use UMA_ALIGN_CACHE 
for the turnstile and sleep queue zones.

-- 
John Baldwin


More information about the freebsd-arch mailing list