Patch to use fence instructions
John Baldwin
jhb at FreeBSD.org
Mon Sep 26 11:57:41 PDT 2005
On Monday 26 September 2005 12:16 pm, Martin Nilsson wrote:
> John Baldwin wrote:
> > On Wednesday 21 September 2005 07:45 am, Martin Nilsson wrote:
> >>John Baldwin wrote:
> >>>This patch changes the atomic operations and bus space barriers to use
> >>>the x86 fence instructions. Please test, thanks!
> >>>
> >>>http://www.FreeBSD.org/~jhb/patches/amd64_fences.patch
> >>
> >>What kind of performance improvements can we expect with this patch?
> >>Is it worthwile to compare performance on dualcore Pentium D with
> >>sysbench before and after this patch? Does it affect threads & mutex
> >>performance?
> >>
> >>Sysbench is a benchmark specially made to determine lowlevel performance
> >>important for MySQL and be found here: http://sysbench.sourceforge.net/
> >
> > I'm not sure what improvements it would provide (I don't have any amd64
> > hardware to test on anyway). I believe that in some microbenchmarks bde@
> > found that just using lfence or sfence was only about half the cost of
> > using the 'lock' prefix. Thus, things like atomic_store_rel (used in
> > mutexes) might perform better.
>
> I have tested the patch but I'm not able to see any difference with the
> mutex & threads tests in sysbench. On the other hand I'm not seeing any
> regressions either and everything seems to work OK. Can you suggest a
> better low-level test?
Robert Watson (rwatson@) has a kernel module (or maybe a hack) for
benchmarking our in-kernel primitives. Running that might be a good
micro-benchmark.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-amd64
mailing list