[PATCH] Mantaining turnstile aligned to 128 bytes in i386 CPUs
John Baldwin
jhb at freebsd.org
Tue Jan 16 21:10:23 UTC 2007
On Tuesday 16 January 2007 15:42, Nick Evans wrote:
> On Tue, 16 Jan 2007 17:51:03 +0100
> "Attilio Rao" <attilio at freebsd.org> 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
> >
> > The benchmark results:
> > http://users.gufi.org/~rookie/works/patches/ts-sq/ts-sq.benchmark
> >
> > The kernel options file:
> > http://users.gufi.org/~rookie/works/patches/ts-sq/CURRENT
> >
> > For any information, comment, etc. please feel free to contact me.
> >
> > Attilio
> >
> >
> > --
> > Peace can only be achieved by understanding - A. Einstein
> > _______________________________________________
> > freebsd-current at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-current
> > To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>
> Some preliminary results:
>
> PREEMPTION: 4BSD, Quad P3-Xeon, 2GB ram
>
> pre-patch
>
> 1. 176.36 real 703.75 user 0.01 sys
> 2. 176.73 real 704.34 user 0.03 sys
> 3. 176.49 real 703.72 user 0.04 sys
> 4. 175.81 real 701.36 user 0.03 sys
> 5. 176.57 real 700.98 user 0.02 sys
>
> post-patch
>
> 1. 179.17 real 714.39 user 0.01 sys
> 2. 178.33 real 711.50 user 0.04 sys
> 3. 178.32 real 711.04 user 0.03 sys
> 4. 177.34 real 707.51 user 0.03 sys
> 5. 178.25 real 710.17 user 0.03 sys
What did you use to do your benchmark? Also, have you tried adjusting
UMA_ALIGN_SYNC (maybe use 64 - 1)?
--
John Baldwin
More information about the freebsd-arch
mailing list