diff options
author | Jason Wang <jasowang@redhat.com> | 2013-07-03 21:52:57 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-11-04 07:31:03 -0500 |
commit | 413054e740f1efb2cb765323bc73ad01f986c4e1 (patch) | |
tree | abb9d9aed442fb50365eaaa8bbb911ea98425c16 /usr/gen_init_cpio.c | |
parent | f02721718c7dcd4cb949fb0c0689e19a66c8c6ef (diff) |
virtio-net: fix the race between channels setting and refill
[ Upstream commit 9b9cd8024a2882e896c65222aa421d461354e3f2 ]
Commit 55257d72bd1c51f25106350f4983ec19f62ed1fa (virtio-net: fill only rx queues
which are being used) tries to refill on demand when changing the number of
channels by call try_refill_recv() directly, this may race:
- the refill work who may do the refill in the same time
- the try_refill_recv() called in bh since napi was not disabled
Which may led guest complain during setting channels:
virtio_net virtio0: input.1:id 0 is not a head!
Solve this issue by scheduling a refill work which can guarantee the
serialization of refill.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Cc: Sasha Levin <sasha.levin@oracle.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'usr/gen_init_cpio.c')
0 files changed, 0 insertions, 0 deletions