Jason Wang
2013-May-22 05:22 UTC
[PATCH] virtio_net: enable napi after enabling new queues
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 <sasha.levin at oracle.com> Signed-off-by: Jason Wang <jasowang at redhat.com> --- 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; } -- 1.7.1
Jason Wang
2013-May-22 05:46 UTC
[PATCH] virtio_net: enable napi after enabling new queues
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 <sasha.levin at oracle.com> > Signed-off-by: Jason Wang <jasowang at redhat.com> > --- > 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.