Re: zero-copy TCP fileserving

Bjorn Wesen (bjorn@sparta.lu.se)
Thu, 3 Jun 1999 17:41:33 +0200 (MET DST)


On Thu, 3 Jun 1999, Alan Cox wrote:
> If the CPU can queue posted writes for the data and is still able to feed
> itself without stalling, and there is enough bandwidth left for any other
> bus masters _in the unlikely event it hits main memory_ then the write is
> pretty cheap. Since we are going to want the data again for the actual
> I/O transaction in most cases its extremely close to zero cost.

But in the case of a heavy filetransfer, the data will need to hit main
memory, especially if the NIC can bus-master DMA from main memory. The
thing is, in a good system, the HD controller will do BM DMA to main
memory and there should be no need at all for the CPU to touch the data.
DMA in, DMA out. Checksum can be handled by the NIC. Now I'm not mad
enough to claim that direct device<->device I/O is the way to go (which
was discussed here recently :).

I fully agree that a meagre 10 MByte/s (for filling a 100 MBit/s net) is
a tiny load on a massive P2/400 with main memory bandwidths of hundreds of
MB/s. But the issue was scalability mainly.

/Bjorn

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