]> 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)
commit8cf77188bf1eef8ea00effb43a005e6e91133afd
treecd7fae14e989039d2582da4ad7bf1e4006cf6bef
parent445cb193243aef5cbb6ad87c68cafea1263c95eb
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