[lkml]   [2000]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: zero-copy TCP
>>>>> "Jeff" == Jeff V Merkey <> writes:

Jeff> all over the place that increases latency. Not to mention the
Jeff> overhead of the type of interrupt and trap gates that suck up
Jeff> about 50 clocks to fetch the IDT, PDE, and GDT tables for every
Jeff> interrupt. NetWare copies nothing in TCPIP except at the stream
Jeff> head. Why do you need to copy data anyway to checksum an IP
Jeff> packet anyway? I noticed you do the right thing and keep the
Jeff> headers and data as separate fragments during header
Jeff> construction, so why do you need to copy data for checksumming?

Because your hardware doesn't do scatter/gather DMA *and* TCP TX
checksumming - only very few cards do. You have to build every packet
in memory if the card doesn't do sct/gat since you can't really send
out data without IP headers in front of it. And if your card doesn't
do TX transmit then you have to run over all the data with the CPU to
calculate the checksum and once you do this you can just as well do
the full copy. Also note that many cards that do sct/gth also have a
bit of latency per descriptor so you do not want to use 10 descriptors
for a 1500 byte packet.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:38    [W:0.147 / U:25.812 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site