]> www.infradead.org Git - users/jedix/linux-maple.git/commit
vmxnet3: add receive data ring support
authorShrikrishna Khare <skhare@vmware.com>
Thu, 16 Jun 2016 17:51:56 +0000 (10:51 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Mon, 6 Mar 2017 21:30:07 +0000 (13:30 -0800)
commit73f66a6f7a19882e3054da315da0103797eeeae3
treefb0f9532ff3885cb9b3a4544bc6121588c18eb9a
parent2d768c448b4d806e8db4c8717ba2cebf407f48ca
vmxnet3: add receive data ring support

Orabug: 25639933

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>
(cherry picked from commit 50a5ce3e7116a70edb7a1d1d209e3bc537752427)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/vmxnet3/vmxnet3_defs.h
drivers/net/vmxnet3/vmxnet3_drv.c
drivers/net/vmxnet3/vmxnet3_ethtool.c
drivers/net/vmxnet3/vmxnet3_int.h