net/virtio: add election for vectorized path
authorMarvin Liu <yong.liu@intel.com>
Wed, 29 Apr 2020 07:28:21 +0000 (15:28 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 5 May 2020 13:54:26 +0000 (15:54 +0200)
commitccb10995c2ad0b2ef6319e6447e735b5464baa7c
tree1be8c827ac687dca1c5d977978d2062066e7daa0
parent6494b9a9b2397282193050b78a21e5c4b72e3c58
net/virtio: add election for vectorized path

Rewrite vectorized path selection logic. Default setting comes from
vectorized devarg, then checks each criteria.

Packed ring vectorized path need:
    AVX512F and required extensions are supported by compiler and host
    VERSION_1 and IN_ORDER features are negotiated
    mergeable feature is not negotiated
    LRO offloading is disabled

Split ring vectorized rx path need:
    mergeable and IN_ORDER features are not negotiated
    LRO, chksum and vlan strip offloadings are disabled

Signed-off-by: Marvin Liu <yong.liu@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
doc/guides/nics/virtio.rst
drivers/net/virtio/virtio_ethdev.c