Re: Gigabit Linux Server Bottlenecks

From: Zachary Amsden (zamsden@cthulhu.engr.sgi.com)
Date: Fri Feb 11 2000 - 00:49:14 EST


> Jes.Sorensen@cern.ch said:
> > >>>>> "Alexey" == kuznet <kuznet@ms2.inr.ac.ru> writes:
> >
> > >> There is no point in using it for transmit since the Linux TCP
> > >> stack currently doesn't support this.
> >
> > Alexey> Hmm... Are you sure? Until now I thought exaclty the same with
> > Alexey> opposite sign. 8) Namely: there are no reasons to awake the
> > Alexey> feature in TCP, because no drivers support this.
> >
> > Well in order to use it and really gain on it for transmit, you want
> > scatter/gather skbuffs, something which I really want to look at
> > (provided I can find the time). If you are doing the data copy anyway,
> > there checksum is almost free.
>
> Agreed. Back in the early 2.2 days I changed the kernel in a generic
> way not to checksum outgoing TCP/UDP packets if it knew the card could
> handle it, and experimented using a Packet Engines Hamachi gigE. The
> changes to the stack are fairly small, and the gains are near
> negligible (max 5% faster) since a checksum while copying is indeed
> free.
>
> The curious might see http://dancer.ca.sandia.gov/~pw, but I'd much
> rather see the card DMA the unchecksummed payload directly from
> userspace.

Yes, this works fine for UDP, but you can't do TCP this way without COW VM
support for scatter skbufs, because TCP needs to buffer data until it has been
acknowledged. Even then, you need the application to behave properly and not
touch anything in the same page as the output data until an ACK is received.
This is easy enough to hack into high bandwidth servers, like ftp or rcp, and
that is mostly the only place you will need it.

-- 
Zachary Amsden  zamsden@engr.sgi.com  (650) 933-6919  09U-510  Core Protocols

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



This archive was generated by hypermail 2b29 : Tue Feb 15 2000 - 21:00:19 EST