Subject: Re: Packet mmap: TX RING and zero copy

From: Christoph Lameter <[email-masked]>
Date: Wed, 03 Sep 2008 09:57:46 -0500

Evgeniy Polyakov wrote:
> Hi Johann.
> 
> On Wed, Sep 03, 2008 at 03:05:07PM +0200, Johann Baudy ([email-masked]) wrote:
>> TCP socket, transferring 20Mbytes file (located in initramfs) in loop
>> with sendfile() : 5.7Mbytes/s
> 
> And _THIS_ is a serious problem. Let's assume that sendfile is broken or
> driver/hardware does not support scatter/gather and checksumming (does it?).
> Can you saturate the link with pktgen (1) and usual tcp socket (2).
> Assuming second case will fail, does it also broken because of very
> small performance of the copy from the userspace?

Could we see the code that was used to get these numbers? The problem may just
be in the way that the calls to sendfile() have been coded.

The TX code looks intriguing. Seems that some vendors are tinkering with VNIC
ideas in order to bypass context switches and data copies. Maybe this is a
cheap way to attain the same goals?