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



On Tuesday 16 January 2007 11:51, Attilio Rao wrote:
2006/7/28, Attilio Rao <attilio@xxxxxxxxxxx>:

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
_______________________________________________
freebsd-arch@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
    ... (since they hide the sizeof(struct turnstile) ... 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 ... I think that results of the comparison on this patch is very ...
    (freebsd-arch)
  • Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
    ... >> (since they hide the sizeof(struct turnstile) with size parameter). ... > Even if a long time is passed I did some benchmarks based on ebizzy tool. ... > I think that results of the comparison on this patch is very ... > chance to reproduce this on some of these). ...
    (freebsd-arch)
  • Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
    ... >> (since they hide the sizeof(struct turnstile) with size parameter). ... > Even if a long time is passed I did some benchmarks based on ebizzy tool. ... > I think that results of the comparison on this patch is very ... > chance to reproduce this on some of these). ...
    (freebsd-current)
  • Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
    ... (since they hide the sizeof(struct turnstile) ... 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 ... I think that results of the comparison on this patch is very ...
    (freebsd-current)
  • Re: [PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
    ... >> (since they hide the sizeof(struct turnstile) with size parameter). ... > I think that results of the comparison on this patch is very ... > chance to reproduce this on some of these). ... better boundary (for syncronizing primitives) for other arches. ...
    (freebsd-arch)