Take 2: new IP Checksum Code from DragonFlyBSD
Gordon Bergling
gbergling at 0xfce3.net
Wed May 24 13:24:48 PDT 2006
Hi Scott,
* Thus spake Scott Long (scottl at samsco.org):
> Gordon Bergling wrote:
> >a few month ago I ported DragonFlyBSD's IP checksum code to FreeBSD.
> >My first try wasn't complete and I had forgotten it by the time. Now I
> >hope I have addressed the former mistakes and it maybe included in the
> >tree. ;)
> >
> >The patch can be found at
> >http://generic.0xfce3.net/20060524-ipchecksum.patch
> >
> >This patch modifies the i386, amd64 and pc98 architectures. Matt Dillons
> >new implementation is machine indepement, but there are some asm
> >files/code with seems for me i386 centric. I don't know assembler, so I
> >can't tell much about it.
> >
> >I applied the patch to RELENG_6 and have done a simple netperf
> >benchmark. The machine was a PIII 900.
> >
> >The ministat output:
> >----------------------------------------------------------------------------
> >x netperf-localhost-plain.txt
> >+ netperf-localhost-ncksum.txt
> >+--------------------------------------------------------------------------+
> >| x x x x + ++ +
> >|
> >|xx x x xx xxx x x x x+x *+x x + +++ ++ + + + +++++
> >+|
> >| |__________M_A____________| |__________A___________|
> >|
> >+--------------------------------------------------------------------------+
> > N Min Max Median Avg Stddev
> >x 22 707.31 730.41 717.37 718.53909 6.7389076
> >+ 22 725.57 746.46 736.535 736.51727 6.3001188
> >Difference at 95.0% confidence
> > 17.9782 +/- 3.96904
> > 2.50205% +/- 0.552377%
> > (Student's t, pooled s = 6.5232)
> >----------------------------------------------------------------------------
> >
> >Any comments, correctures are very appreciated.
> >
> >best regards,
> >
> > Gordon
> >
>
> First, it would be nice to know what netstat options you were using.
> Second, it would be nice to know if hardware checksum offloading was
> enabled at all on either end of the test.
I don't know what do you mean with netstat options. If you mean the
benchmark, that was the following procedure.
1. /usr/local/netperf/netserver
2.
for i in 0 1 2 3 4 5 6 7 8 9
do
/usr/local/netperf/netperf -P 0 >> ~/netperf-xyz.txt
done
Step 2 was done twice. I cutted the 'Throughput' fields out of the
netperf-xyz.txt, for use with ministat. The nic I had used is a simple
| fxp0: <Intel 82550 Pro/100 Ethernet> port ...
I havn't enabled any hardware checksum offloading as far as I
know.
Please let me know, if there are other questions left...
best regards,
Gordon
--
Gordon Bergling <GBergling at 0xfce3.net> http://www.0xFCE3.net/
PGP Fingerprint: 7732 9BB1 5013 AE8B E42C 28E0 93B9 D32B C76F 02A0
RIPE-HDL: MDTP-RIPE "Minimal Electronic Music"
More information about the freebsd-current
mailing list