Date: Tue, 26 Sep 2006 14:19:51 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-current@freebsd.org Cc: alc@freebsd.org, freebsd-net@freebsd.org, Andre Oppermann <andre@freebsd.org>, Andrew Gallatin <gallatin@cs.duke.edu>, tegge@freebsd.org Subject: Re: Much improved sendfile(2) kernel implementation Message-ID: <200609261419.52303.jhb@freebsd.org> In-Reply-To: <17683.63162.919620.114649@grasshopper.cs.duke.edu> References: <4511B9B1.2000903@freebsd.org> <17683.63162.919620.114649@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 22 September 2006 10:44, Andrew Gallatin wrote: > > Between TSO and your sendfile changes, things are looking up! > > Here are some Myri10GbE 1500 byte results from a 1.8GHz UP > FreeBSD/amd64 machine (AMD Athlon(tm) 64 Processor 3000+) sending to a > 2.0GHz SMP Linux/x86_64 machine (AMD Athlon(tm) 64 X2 Dual Core Processor > 3800+) running 26.17.7smp and our 1.1.0 Myri10GE driver (with LRO). > I used a linux receiver because LRO is the only way to receive > standard frames at line rate (without a TOE). > > These tests are all for sendfile of a 10MB file in /var/tmp: > > % netperf242 -Hrome-my -tTCP_SENDFILE -F /var//tmp/zot -T,1 -c -C -- -s393216 > > The -T,1 is required to force the netserver to use a different core > than the interrupt handler is bound to on the linux machine. BTW, > it would be really nice if FreeBSD supported CPU affinity for processes > and interrupt handlers.. You can get some of that with www.freebsd.org/~jhb/patches/intr_bind.patch That binds interrupt threads to the CPUs the IDT vector is bound to and adds a sysarch() so you can move them around. I had a simple test program to do that but don't have access to it currently. I've tested this on i386 and amd64, but haven't benchmarked it. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200609261419.52303.jhb>