Re: Half Duplex and Zero Copy IP

Subba Rao (subba9@home.com)
Sat, 11 Aug 2001 07:59:06 +0000


On 0, Andrew Morton <akpm@zip.com.au> wrote:
> Subba Rao wrote:
> >
> > Hello,
> >
> > I have 2 3Com NICs on my system. They are 3c905C Tornado PCI cards.
> > The drivers are compiled into the kernel (Slackware 8.0 with kernel 2.4.7).
> >
> > One of the interfaces will be used as a sniffer interface (without IP address)
> > and a very high traffic pipes. I do not wish to loose any packets coming to this
> > interface. Is it better if I initialize the interface in HALF DUPLEX mode? If yes,
> > how do I set the card to HALF DUPLEX mode? How can I find out the HW (NIC) settings
> > on the system?
>
> No, this will provide no benefit.

So, is the card set in half-duplex mode by default and full-duplex is a forced
option?

>
> > Another question about 3Com NICs, do they perform zero-copy IP?
>
> Linux's zerocopy infrastructure allows the sendfile() system call
> to save a copy with NICs which have hardware checksumming and
> scatter/gather. 3c905C is one such NIC. Kernel is not generally
> "zero copy", but large savings are available in certain situations.
> NFS packet reassembly benefits from 905C's as well.
>
> > I read that the performance improves a lot WITHOUT zero-copy IP.
>
> Not right. Where did you read that?
>
http://www.fefe.de/linuxeth/

"To achieve gigabit throughput, it is important that the operating system does
not copy the data in the packets before sending them (this is called zero-copy
IP). Unfortunately, the kernel needs to put a header before the data in the
packet, so not copying the data to a buffer in kernel space means that the NIC
needs to be able to fetch the header from a different place in memory than the
user data in the packet. This is called scatter/gather and is necessary for
zero-copy IP."

-- 

Subba Rao subba9@home.com http://members.home.net/subba9/

GPG public key ID 27FC9217 Key fingerprint = 2B4C 498E 1860 5A2B 6570 5852 7527 882A 27FC 9217 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/