On Mon, 25 May 2015 01:24:04 -0400
Jason Wang <jasow...@redhat.com> wrote:

> Signed-off-by: Jason Wang <jasow...@redhat.com>
> ---
>  drivers/vhost/net.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
> index 7d137a4..5ee28b7 100644
> --- a/drivers/vhost/net.c
> +++ b/drivers/vhost/net.c
> @@ -320,6 +320,9 @@ static void handle_tx(struct vhost_net *net)
>       hdr_size = nvq->vhost_hlen;
>       zcopy = nvq->ubufs;
>  
> +     /* Finish pending interrupts first */
> +     vhost_check_coalesce_and_signal(vq->dev, vq, false);
> +
>       for (;;) {
>               /* Release DMAs done buffers first */
>               if (zcopy)
> @@ -415,6 +418,7 @@ static void handle_tx(struct vhost_net *net)
>               }
>       }
>  out:
> +     vhost_check_coalesce_and_signal(vq->dev, vq, true);
>       mutex_unlock(&vq->mutex);
>  }
>  
> @@ -554,6 +558,9 @@ static void handle_rx(struct vhost_net *net)
>               vq->log : NULL;
>       mergeable = vhost_has_feature(vq, VIRTIO_NET_F_MRG_RXBUF);
>  
> +     /* Finish pending interrupts first */
> +     vhost_check_coalesce_and_signal(vq->dev, vq, false);
> +
>       while ((sock_len = peek_head_len(sock->sk))) {
>               sock_len += sock_hlen;
>               vhost_len = sock_len + vhost_hlen;
> @@ -638,6 +645,7 @@ static void handle_rx(struct vhost_net *net)
>               }
>       }
>  out:
> +     vhost_check_coalesce_and_signal(vq->dev, vq, true);
>       mutex_unlock(&vq->mutex);
>  }
>  

Could you implement ethtool control of these coalescing parameters?
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to