• Shrikrishna Khare's avatar
    vmxnet3: add receive data ring support · 50a5ce3e
    Shrikrishna Khare authored
    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: default avatarShrikrishna Khare <skhare@vmware.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    50a5ce3e
vmxnet3_drv.c 96.8 KB