Take 2: new IP Checksum Code from DragonFlyBSD
Gordon Bergling
gbergling at 0xfce3.net
Thu May 25 03:40:13 PDT 2006
* Thus spake Max Laier (max at love2party.net):
> On Wednesday 24 May 2006 20:08, 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'm a little scared about this. We have had several problems in the
> checksumming code that were due to -O2 or -O0 that screwed up just a little
> of the assembly and *boom* everything went downhill. I do appreciate you
> stepping up porting something useful, but I'd be more comfortable if you
> actually knew what you are doing.
>
> That said, can somebody with real assembly knowledge and maybe even for
> sparc64 or the like step up and take a look at this? I think we should not
> import something unless we fully understand it!
>
> I am confident that Matt knew what he was doing, but I am not sure that the
> efforts on Dragonfly are compatible with !i386/amd64 ... FreeBSD, however
> still cares about big endian architectures and others, don't we?
Even if DragonFly implementation isn't compatible with archs ! i386 and
derivates isn't it still an improvement on what we have now?
My intention of porting it was the following comment in
sys/i386/i386/in_cksum.c
| * This routine is very heavily used in the network
| * code and should be modified for each CPU to be as fast as
| * possible.
So having a better situated implementation is still an improved. The
patch doesn't touch any arch !i386 and derivates, so I don't see any reason
why it shouldn't be included.
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