net/virtio-user: reset used index counter in dev reset
Checks
Commit Message
When the virtio device is reinitialized during ethdev reconfiguration,
all the virtio rings are recreated and repopulated on the device.
Accordingly, reset the used index counter value back to zero.
Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
---
drivers/net/virtio/virtio_user_ethdev.c | 1 +
1 file changed, 1 insertion(+)
Comments
Hello Maxime,
could you please review the following change ?
Thanks
> Subject: [EXTERNAL] [PATCH] net/virtio-user: reset used index counter in dev
> reset
>
> When the virtio device is reinitialized during ethdev reconfiguration, all the
> virtio rings are recreated and repopulated on the device. Accordingly, reset the
> used index counter value back to zero. Signed-off-by: Kommula Shiva Shankar
> <kshankar@ marvell. com>
> When the virtio device is reinitialized during ethdev reconfiguration, all the
> virtio rings are recreated and repopulated on the device.
> Accordingly, reset the used index counter value back to zero.
>
> Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
> ---
> drivers/net/virtio/virtio_user_ethdev.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/virtio/virtio_user_ethdev.c
> b/drivers/net/virtio/virtio_user_ethdev.c
> index ae6593ba0b..d60c7e188c 100644
> --- a/drivers/net/virtio/virtio_user_ethdev.c
> +++ b/drivers/net/virtio/virtio_user_ethdev.c
> @@ -204,6 +204,7 @@ virtio_user_setup_queue_packed(struct virtqueue
> *vq,
> vring->device = (void *)(uintptr_t)used_addr;
> dev->packed_queues[queue_idx].avail_wrap_counter = true;
> dev->packed_queues[queue_idx].used_wrap_counter = true;
> + dev->packed_queues[queue_idx].used_idx = 0;
>
> for (i = 0; i < vring->num; i++)
> vring->desc[i].flags = 0;
> --
> 2.43.0
Hi,
On 9/6/24 12:14, Shiva Shankar Kommula wrote:
> Hello Maxime,
> could you please review the following change ?
>
> Thanks
>
>> Subject: [EXTERNAL] [PATCH] net/virtio-user: reset used index counter in dev
>> reset
>>
>> When the virtio device is reinitialized during ethdev reconfiguration, all the
>> virtio rings are recreated and repopulated on the device. Accordingly, reset the
>> used index counter value back to zero. Signed-off-by: Kommula Shiva Shankar
>> <kshankar@ marvell. com>
>> When the virtio device is reinitialized during ethdev reconfiguration, all the
>> virtio rings are recreated and repopulated on the device.
>> Accordingly, reset the used index counter value back to zero.
I think it needs to be backported to stable releases.
What about this?
Fixes: 48a4464029a7 ("net/virtio-user: support control VQ for packed")
Cc: stable@dpdk.org
>>
>> Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
>> ---
>> drivers/net/virtio/virtio_user_ethdev.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/net/virtio/virtio_user_ethdev.c
>> b/drivers/net/virtio/virtio_user_ethdev.c
>> index ae6593ba0b..d60c7e188c 100644
>> --- a/drivers/net/virtio/virtio_user_ethdev.c
>> +++ b/drivers/net/virtio/virtio_user_ethdev.c
>> @@ -204,6 +204,7 @@ virtio_user_setup_queue_packed(struct virtqueue
>> *vq,
>> vring->device = (void *)(uintptr_t)used_addr;
>> dev->packed_queues[queue_idx].avail_wrap_counter = true;
>> dev->packed_queues[queue_idx].used_wrap_counter = true;
>> + dev->packed_queues[queue_idx].used_idx = 0;
>>
>> for (i = 0; i < vring->num; i++)
>> vring->desc[i].flags = 0;
>> --
>> 2.43.0
>
On 9/19/24 12:54, Maxime Coquelin wrote:
> Hi,
>
> On 9/6/24 12:14, Shiva Shankar Kommula wrote:
>> Hello Maxime,
>> could you please review the following change ?
>>
>> Thanks
>>
>>> Subject: [EXTERNAL] [PATCH] net/virtio-user: reset used index counter
>>> in dev
>>> reset
>>>
>>> When the virtio device is reinitialized during ethdev
>>> reconfiguration, all the
>>> virtio rings are recreated and repopulated on the device.
>>> Accordingly, reset the
>>> used index counter value back to zero. Signed-off-by: Kommula Shiva
>>> Shankar
>>> <kshankar@ marvell. com>
>>> When the virtio device is reinitialized during ethdev
>>> reconfiguration, all the
>>> virtio rings are recreated and repopulated on the device.
>>> Accordingly, reset the used index counter value back to zero.
>
> I think it needs to be backported to stable releases.
> What about this?
>
> Fixes: 48a4464029a7 ("net/virtio-user: support control VQ for packed")
> Cc: stable@dpdk.org
>
>>>
>>> Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
>>> ---
>>> drivers/net/virtio/virtio_user_ethdev.c | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/net/virtio/virtio_user_ethdev.c
>>> b/drivers/net/virtio/virtio_user_ethdev.c
>>> index ae6593ba0b..d60c7e188c 100644
>>> --- a/drivers/net/virtio/virtio_user_ethdev.c
>>> +++ b/drivers/net/virtio/virtio_user_ethdev.c
>>> @@ -204,6 +204,7 @@ virtio_user_setup_queue_packed(struct virtqueue
>>> *vq,
>>> vring->device = (void *)(uintptr_t)used_addr;
>>> dev->packed_queues[queue_idx].avail_wrap_counter = true;
>>> dev->packed_queues[queue_idx].used_wrap_counter = true;
>>> + dev->packed_queues[queue_idx].used_idx = 0;
>>>
>>> for (i = 0; i < vring->num; i++)
>>> vring->desc[i].flags = 0;
>>> --
>>> 2.43.0
>>
With added Fixes tag:
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
On 8/5/24 12:08, Kommula Shiva Shankar wrote:
> When the virtio device is reinitialized during ethdev reconfiguration,
> all the virtio rings are recreated and repopulated on the device.
> Accordingly, reset the used index counter value back to zero.
>
> Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
> ---
> drivers/net/virtio/virtio_user_ethdev.c | 1 +
> 1 file changed, 1 insertion(+)
>
Applied to next-virtio/for-next-net with suggested change.
Thanks,
Maxime
@@ -204,6 +204,7 @@ virtio_user_setup_queue_packed(struct virtqueue *vq,
vring->device = (void *)(uintptr_t)used_addr;
dev->packed_queues[queue_idx].avail_wrap_counter = true;
dev->packed_queues[queue_idx].used_wrap_counter = true;
+ dev->packed_queues[queue_idx].used_idx = 0;
for (i = 0; i < vring->num; i++)
vring->desc[i].flags = 0;