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

From: John Baldwin <jhb_at_freebsd.org>
Date: Tue, 16 Jan 2007 14:38:51 -0500
On Tuesday 16 January 2007 11:51, Attilio Rao wrote:
> 2006/7/28, Attilio Rao <attilio_at_freebsd.org>:
> >
> > After some thinking, I think it's better using init/fini methods
> > (since they hide the sizeof(struct turnstile) with size parameter).
> >
> > Feedbacks and comments are welcome:
> > http://users.gufi.org/~rookie/works/patches/uma_sync_init.diff
> 
> [CC'ed all the interested people]
> 
> Even if a long time is passed I did some benchmarks based on ebizzy tool.
> This program claims to reproduce a real httpd server behaviour and is
> used into the Linux world for benchmarks, AFAIK.
> I think that results of the comparison on this patch is very
> interesting, and I think it worths a commit :)
> I think that results can be even better on a Xeon machine (I had no
> chance to reproduce this on some of these).
> (Results taken in consideration have been measured after some starts,
> in order to minimize caching differences).
> 
> The patch:
> http://users.gufi.org/~rookie/works/patches/ts-sq/ts-sq.diff

Looks good.  Some minor nits are that in subr_turnstile.c in the comment I 
would say "a turnstile is allocated" rather than "a turnstile is got from a 
specific UMA zone" as it reads a little bit clearer.  Also, I would 
say "Allocate a" rather than "Get a" for the two _alloc() functions.  Also, 
why not just use UMA_ALIGN_CACHE and make UMA_ALIGN_CACHE (128 - 1) on i386 
and amd64 rather than adding a new UMA_ALIGN_SYNC?

-- 
John Baldwin
Received on Tue Jan 16 2007 - 19:27:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:04 UTC