Jason Wang
2022-Jun-07 06:14 UTC
[PATCH 5/6] vDPA: answer num of queue pairs = 1 to userspace when VIRTIO_NET_F_MQ == 0
On Mon, Jun 6, 2022 at 4:22 PM Zhu, Lingshan <lingshan.zhu at intel.com> wrote:> > > > On 6/2/2022 3:38 PM, Jason Wang wrote: > > On Thu, Jun 2, 2022 at 10:48 AM Zhu Lingshan <lingshan.zhu at intel.com> wrote: > >> If VIRTIO_NET_F_MQ == 0, the virtio device should have one queue pair, > >> so when userspace querying queue pair numbers, it should return mq=1 > >> than zero > > Spec said: > > > > "max_virtqueue_pairs only exists if VIRTIO_NET_F_MQ is set" > > > > So we are probably fine. > I thinks it is asking how many queue > pairs(VDPA_ATTR_DEV_NET_CFG_MAX_VQP), so answering 0 may not be correct. > > Thanks, > Zhu LingshanPlease add the result of the userspace vdpa tool before and after this patch in the changlog in next version. Thanks> > > > Thanks > > > >> Signed-off-by: Zhu Lingshan <lingshan.zhu at intel.com> > >> --- > >> drivers/vdpa/vdpa.c | 5 +++-- > >> 1 file changed, 3 insertions(+), 2 deletions(-) > >> > >> diff --git a/drivers/vdpa/vdpa.c b/drivers/vdpa/vdpa.c > >> index 030d96bdeed2..50a11ece603e 100644 > >> --- a/drivers/vdpa/vdpa.c > >> +++ b/drivers/vdpa/vdpa.c > >> @@ -818,9 +818,10 @@ static int vdpa_dev_net_mq_config_fill(struct vdpa_device *vdev, > >> u16 val_u16; > >> > >> if ((features & BIT_ULL(VIRTIO_NET_F_MQ)) == 0) > >> - return 0; > >> + val_u16 = 1; > >> + else > >> + val_u16 = le16_to_cpu((__force __le16)config->max_virtqueue_pairs); > >> > >> - val_u16 = le16_to_cpu(config->max_virtqueue_pairs); > >> return nla_put_u16(msg, VDPA_ATTR_DEV_NET_CFG_MAX_VQP, val_u16); > >> } > >> > >> -- > >> 2.31.1 > >> >