vdpa/mlx5: Make VIRTIO_NET_F_MRG_RXBUF off by default
authorEli Cohen <elic@nvidia.com>
Tue, 21 Mar 2023 11:28:08 +0000 (13:28 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 21 Apr 2023 07:02:31 +0000 (03:02 -0400)
Following patch adds driver support for VIRTIO_NET_F_MRG_RXBUF.

Current firmware versions show degradation in packet rate when using
MRG_RXBUF. Users who favor memory saving over packet rate could enable
this feature but we want to keep it off by default.

One can still enable it when creating the vdpa device using vdpa tool by
providing features that include it.

For example:
$ vdpa dev add name vdpa0 mgmtdev pci/0000:86:00.2 device_features 0x300cb982b

Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Eli Cohen <elic@nvidia.com>
Message-Id: <20230321112809.221432-2-elic@nvidia.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Si-Wei Liu <si-wei.liu@oracle.com>
drivers/vdpa/mlx5/net/mlx5_vnet.c

index 97a16f7..b524595 100644 (file)
@@ -3158,6 +3158,8 @@ static int mlx5_vdpa_dev_add(struct vdpa_mgmt_dev *v_mdev, const char *name,
                        return -EINVAL;
                }
                device_features &= add_config->device_features;
+       } else {
+               device_features &= ~BIT_ULL(VIRTIO_NET_F_MRG_RXBUF);
        }
        if (!(device_features & BIT_ULL(VIRTIO_F_VERSION_1) &&
              device_features & BIT_ULL(VIRTIO_F_ACCESS_PLATFORM))) {