]> git.baikalelectronics.ru Git - kernel.git/commit
sunvnet: make transmit path zero-copy in the kernel
authorDavid L Stevens <david.stevens@oracle.com>
Mon, 29 Sep 2014 23:48:11 +0000 (19:48 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Sep 2014 21:10:39 +0000 (17:10 -0400)
commitdbd1cedfffe246996c78ab7c71407999c074393e
tree59f30a451145d5e95bf308c4b06cacb61a996417
parent43c8878c3245e276bc8a80ff1bd198a4690c0350
sunvnet: make transmit path zero-copy in the kernel

This patch removes pre-allocated transmit buffers and instead directly maps
pending packets on demand. This saves O(n^2) maximum-sized transmit buffers,
for n hosts on a vswitch, as well as a copy to those buffers.

Single-stream TCP throughput linux-solaris dropped ~5% for 1500-byte MTU,
but linux-linux at 1500-bytes increased ~20%.

Signed-off-by: David L Stevens <david.stevens@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sun/sunvnet.c
drivers/net/ethernet/sun/sunvnet.h