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.