vdpa/mlx5: Set an initial size on the VQ
The virtqueue size is a pre-requisite for setting up any virtqueue resources. For the upcoming optimization of creating virtqueues at device add, the virtqueue size has to be configured. The queue size check in setup_vq() will always be false. So remove it. Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com> Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com> Message-Id: <20240626-stage-vdpa-vq-precreate-v2-12-560c491078df@nvidia.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
committed by
Michael S. Tsirkin
parent
cdc3c7eaae
commit
ad9758fdaf
@@ -58,6 +58,8 @@ MODULE_LICENSE("Dual BSD/GPL");
|
|||||||
*/
|
*/
|
||||||
#define MLX5V_DEFAULT_VQ_COUNT 2
|
#define MLX5V_DEFAULT_VQ_COUNT 2
|
||||||
|
|
||||||
|
#define MLX5V_DEFAULT_VQ_SIZE 256
|
||||||
|
|
||||||
struct mlx5_vdpa_cq_buf {
|
struct mlx5_vdpa_cq_buf {
|
||||||
struct mlx5_frag_buf_ctrl fbc;
|
struct mlx5_frag_buf_ctrl fbc;
|
||||||
struct mlx5_frag_buf frag_buf;
|
struct mlx5_frag_buf frag_buf;
|
||||||
@@ -1445,9 +1447,6 @@ static int setup_vq(struct mlx5_vdpa_net *ndev, struct mlx5_vdpa_virtqueue *mvq)
|
|||||||
u16 idx = mvq->index;
|
u16 idx = mvq->index;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (!mvq->num_ent)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (mvq->initialized)
|
if (mvq->initialized)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@@ -3523,6 +3522,7 @@ static void mvqs_set_defaults(struct mlx5_vdpa_net *ndev)
|
|||||||
mvq->ndev = ndev;
|
mvq->ndev = ndev;
|
||||||
mvq->fwqp.fw = true;
|
mvq->fwqp.fw = true;
|
||||||
mvq->fw_state = MLX5_VIRTIO_NET_Q_OBJECT_NONE;
|
mvq->fw_state = MLX5_VIRTIO_NET_Q_OBJECT_NONE;
|
||||||
|
mvq->num_ent = MLX5V_DEFAULT_VQ_SIZE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user