Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 May 2006 21:54:48 +1000
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        Gordon Bergling <gbergling@0xfce3.net>
Cc:        Max Laier <max@love2party.net>, freebsd-current@freebsd.org
Subject:   Re: Take 2: new IP Checksum Code from DragonFlyBSD
Message-ID:  <20060525115447.GB724@turion.vk2pj.dyndns.org>
In-Reply-To: <20060525104000.GA4962@central.0xfce3.net>
References:  <20060524180802.GA59176@central.0xfce3.net> <200605250517.12054.max@love2party.net> <20060525104000.GA4962@central.0xfce3.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2006-May-25 12:40:00 +0200, Gordon Bergling wrote:
>* Thus spake Max Laier (max@love2party.net):
>> 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 

> | * This routine is very heavily used in the network
> | * code and should be modified for each CPU to be as fast as
> | * possible.

But _correct_ code is far more important.  And I'm not sure that comment
is still as relevant as it used to be - most (if not all) gigabit NICs
have checksum offloading and processors are fast enough that generic
checksum code should be "good enough" for most lesser purposes.

>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.

You stated that you don't understand the code.  IP checksumming is a
crucial part of the kernel so the Project needs to be very careful about
making changes.  As Max pointed out, there have been past situations
where the checksum code revealed gcc optimiser bugs so any change has
to be checked using a variety of compiler flags.

The justification needs to be along the lines of "Matt's code is better
than the existing code because it does ... instead of ... and this means
it makes better use of ...".   I respect Matt's technical skills so I am
confident that this code works more efficiently in DFBSD but that doesn't
mean that it's a drop-in replacement for the equivalent code in FreeBSD.

-- 
Peter Jeremy



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