Subject: Re: [PATCH] virtio_net: enable napi after enabling new queues

From: Jason Wang <[email-masked]>
Date: Wed, 22 May 2013 13:46:38 +0800

On 05/22/2013 01:22 PM, Jason Wang wrote:
> Commit 55257d72bd1c51f25106350f4983ec19f62ed1fa (virtio-net: fill only rx
> queues which are being used) forgets to enable napi for new enabled queues which
> breaks the multiqueue receiving. This patch fixes it.
>
> Cc: Sasha Levin <[email-masked]>
> Signed-off-by: Jason Wang <[email-masked]>
> ---
>  drivers/net/virtio_net.c |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> index 2d6abac..9b2f59f 100644
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -914,9 +914,11 @@ static int virtnet_set_queues(struct virtnet_info *vi, u16 queue_pairs)
>  			 queue_pairs);
>  		return -EINVAL;
>  	} else {
> -		for (i = vi->curr_queue_pairs; i < queue_pairs; i++)
> +		for (i = vi->curr_queue_pairs; i < queue_pairs; i++) {
>  			if (!try_fill_recv(&vi->rq[i], GFP_KERNEL))
>  				schedule_delayed_work(&vi->refill, 0);
> +			virtnet_napi_enable(&vi->rq[i]);
> +		}
>  		vi->curr_queue_pairs = queue_pairs;
>  	}
>  
A bug were found in this patch, will send a new version.