Date: Tue, 16 Jan 2007 14:38:51 -0500 From: John Baldwin <jhb@freebsd.org> To: "Attilio Rao" <attilio@freebsd.org> Cc: Kip Macy <kip.macy@gmail.com>, freebsd-current@freebsd.org, Suleiman Souhlal <ssouhlal@freebsd.org>, Pawel Jakub Dawidek <pjd@freebsd.org>, freebsd-arch@freebsd.org Subject: Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs Message-ID: <200701161438.52481.jhb@freebsd.org> In-Reply-To: <3bbf2fe10701160851r79b04464m2cbdbb7f644b22b6@mail.gmail.com> References: <3bbf2fe10607250813w8ff9e34pc505bf290e71758@mail.gmail.com> <3bbf2fe10607281004o6727e976h19ee7e054876f914@mail.gmail.com> <3bbf2fe10701160851r79b04464m2cbdbb7f644b22b6@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 16 January 2007 11:51, Attilio Rao wrote: > 2006/7/28, Attilio Rao <attilio@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701161438.52481.jhb>