mbox series

[v3,0/2] virtio-net: re-arm/re-schedule when tx_burst stops virtio_net_flush_tx()

Message ID 20221020095846.63831-1-lvivier@redhat.com (mailing list archive)
Headers show
Series virtio-net: re-arm/re-schedule when tx_burst stops virtio_net_flush_tx() | expand

Message

Laurent Vivier Oct. 20, 2022, 9:58 a.m. UTC
When virtio_net_flush_tx() reaches the tx_burst value all the queue is
not flushed and nothing restart the timer or the bottom half function.

For BH, this is only missing in the virtio_net_tx_complete() function.
For the timer, the same fix is needed in virtio_net_tx_complete() but
it must be also managed in the TX timer function.

v3:
- keep "} else {"

v2:
- fix also tx timer

Laurent Vivier (2):
  virtio-net: fix bottom-half packet TX on asynchronous completion
  virtio-net: fix TX timer with tx_burst

 hw/net/virtio-net.c | 59 +++++++++++++++++++++++++++++++++++++++------
 1 file changed, 51 insertions(+), 8 deletions(-)

Comments

Michael S. Tsirkin Oct. 20, 2022, 11:36 a.m. UTC | #1
On Thu, Oct 20, 2022 at 11:58:44AM +0200, Laurent Vivier wrote:
> When virtio_net_flush_tx() reaches the tx_burst value all the queue is
> not flushed and nothing restart the timer or the bottom half function.
> 
> For BH, this is only missing in the virtio_net_tx_complete() function.
> For the timer, the same fix is needed in virtio_net_tx_complete() but
> it must be also managed in the TX timer function.


Reviewed-by: Michael S. Tsirkin <mst@redhat.com>


Jason your area to merge I assume?

> v3:
> - keep "} else {"
> 
> v2:
> - fix also tx timer
> 
> Laurent Vivier (2):
>   virtio-net: fix bottom-half packet TX on asynchronous completion
>   virtio-net: fix TX timer with tx_burst
> 
>  hw/net/virtio-net.c | 59 +++++++++++++++++++++++++++++++++++++++------
>  1 file changed, 51 insertions(+), 8 deletions(-)
> 
> -- 
> 2.37.3
>
Jason Wang Oct. 21, 2022, 3:05 a.m. UTC | #2
On Thu, Oct 20, 2022 at 5:59 PM Laurent Vivier <lvivier@redhat.com> wrote:
>
> When virtio_net_flush_tx() reaches the tx_burst value all the queue is
> not flushed and nothing restart the timer or the bottom half function.
>
> For BH, this is only missing in the virtio_net_tx_complete() function.
> For the timer, the same fix is needed in virtio_net_tx_complete() but
> it must be also managed in the TX timer function.
>
> v3:
> - keep "} else {"
>
> v2:
> - fix also tx timer
>
> Laurent Vivier (2):
>   virtio-net: fix bottom-half packet TX on asynchronous completion
>   virtio-net: fix TX timer with tx_burst

Applied.

Thanks

>
>  hw/net/virtio-net.c | 59 +++++++++++++++++++++++++++++++++++++++------
>  1 file changed, 51 insertions(+), 8 deletions(-)
>
> --
> 2.37.3
>
>