Re: [UPDATE] Zerocopy patches, against 2.4.1-pre10

From: Ion Badulescu (ionut@cs.columbia.edu)
Date: Sat Jan 27 2001 - 16:18:41 EST


Hi Alexey,

On Sat, 27 Jan 2001 kuznet@ms2.inr.ac.ru wrote:

> > fits the new Linux model a bit better, as it has one descriptor per
> > packet, not one per fragment (like the current implementation).
>
> Yes. Absence of such mode with acenic is big pain in ass.

And, at least for the starfire, using buffer descriptors eats up more
resources than using packet descriptors. So buffer descriptors are gone,
forever.

> Seems, this is pretty common bug. At least, perfect checksumming
> of chunks with any size and alignment is so big boast of
> alteon people, that it is clearly rather exception than rule. 8)8)

Oh well. Don't we wish hardware were perfect.. :-)

It's not too bad for the starfire, either, as it doesn't appear to suffer
from any alignment issues, and the only fragments it has problem with are
1-byte fragments (2-byte and larger are ok). And I'm still hoping that
Adaptec will release updated firmware (and that they will also approve the
inclusion of their firmware with the Linux driver).

If they don't approve it, maybe I'll add a config option so that the user
can download their own copy of the firmware from Adaptec's site, place it
in /etc somewhere, give the location to the driver and have the driver
open the files from kernel space and process them. It would be ugly
though, and a big PITA.

> I think you have to check for wrong combination of alignment/size and
> to call skb_checksum_help() and to disable checksumming if combination
> is bad.

Good, thanks a lot for the pointer. Maybe I went a bit overboard with my
fix, as I revert to CPU checksumming if *any* fragment (not just the last
one in the chain) has only 1 byte. But it seems to work well now.

I've attached a diff for the latest driver (and firmware) version, against
2.4.1pre10+zerocopy. Sorry about MIME, but my pine is currently broken
(strips trailing spaces/tabs).

And, one final question: is it worth it for me to extract just the Rx
checksumming changes and send them to Linux/Alan, or should I just wait
for zerocopy to be included?

Thanks,
Ion

-- 
  It is better to keep your mouth shut and be thought a fool,
            than to open it and remove all doubt.


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jan 31 2001 - 21:00:28 EST