Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 May 2006 12:40:00 +0200
From:      Gordon Bergling <gbergling@0xfce3.net>
To:        Max Laier <max@love2party.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Take 2: new IP Checksum Code from DragonFlyBSD
Message-ID:  <20060525104000.GA4962@central.0xfce3.net>
In-Reply-To: <200605250517.12054.max@love2party.net>
References:  <20060524180802.GA59176@central.0xfce3.net> <200605250517.12054.max@love2party.net>

next in thread | previous in thread | raw e-mail | index | archive | help
* Thus spake Max Laier (max@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"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060525104000.GA4962>