This patchset fixes few issues related to virtio queue reconfigure: increase or shrink the queue number. The major issue and the reason behind is described with length details in patch 4 "net/virtio: allocate queue at init stage".
Those bugs can not be fixed by few lines of code, it's because the current driver init logic is quite wrong, that I need change quite many places to make it right. Meanwhile, I have already done my best to keep the changes being as minimal as possible, so that we could have fewer changes to break something else; also, it's would be easier for review. v2: - fix two more minor issues regarding to queue enabling; see patch 9 and 10. - refined commit log a bit. Thanks. --yliu --- Yuanhan Liu (10): net/virtio: revert fix restart net/virtio: simplify queue memzone name net/virtio: simplify queue allocation net/virtio: allocate queue at init stage net/virtio: initiate vring at init stage net/virtio: move queue configure code to proper place net/virtio: complete init stage at the right place net/virtio: remove started field net/virtio: fix less queues being enabled issue net/virtio: fix multiple queue enabling drivers/net/virtio/virtio_ethdev.c | 248 +++++++++++++++++-------------- drivers/net/virtio/virtio_ethdev.h | 16 -- drivers/net/virtio/virtio_pci.h | 3 +- drivers/net/virtio/virtio_rxtx.c | 291 ++++++++++++------------------------- drivers/net/virtio/virtqueue.h | 7 + 5 files changed, 237 insertions(+), 328 deletions(-) -- 1.9.0