]> git.baikalelectronics.ru Git - kernel.git/commit
vmxnet3: add receive data ring support
authorShrikrishna Khare <skhare@vmware.com>
Thu, 16 Jun 2016 17:51:56 +0000 (10:51 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Jun 2016 05:37:04 +0000 (22:37 -0700)
commit8e42a99535f9f76d4f499970ed8267d83ba7083b
treecd7fae14e989039d2582da4ad7bf1e4006cf6bef
parent94a3c6538499080ac5fb85ca7174c2bdce142550
vmxnet3: add receive data ring support

vmxnet3 driver preallocates buffers for receiving packets and posts the
buffers to the emulation. In order to deliver a received packet to the
guest, the emulation must map buffer(s) and copy the packet into it.

To avoid this memory mapping overhead, this patch introduces the receive
data ring - a set of small sized buffers that are always mapped by
the emulation. If a packet fits into the receive data ring buffer, the
emulation delivers the packet via the receive data ring (which must be
copied by the guest driver), or else the usual receive path is used.

Receive Data Ring buffer length is configurable via ethtool -G ethX rx-mini

Signed-off-by: Shrikrishna Khare <skhare@vmware.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vmxnet3/vmxnet3_defs.h
drivers/net/vmxnet3/vmxnet3_drv.c
drivers/net/vmxnet3/vmxnet3_ethtool.c
drivers/net/vmxnet3/vmxnet3_int.h