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)
commit8e845f4cbbd2ef81846c2ab5dca46d88fb2717ee
tree59f30a451145d5e95bf308c4b06cacb61a996417
parente4defc775424a3501caf98d266a8d7616fa53819
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