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

Kip Macy kip.macy at gmail.com
Tue Jan 16 22:21:47 UTC 2007


x86 pre-P4 had 32-byte cache lines. Thus older processors will not benefit.

 -Kip

On 1/16/07, Nick Evans <nevans at talkpoint.com> 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
>
> _______________________________________________
> 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"
>


More information about the freebsd-arch mailing list