[RFC PATCH 0/2] Multiqueue support for qemu(virtio-net)

Jason Wang
2011-04-28T03:11:41Z

Jason Wang writes:
> Inspired by Krishna's patch (http://www.spinics.net/lists/kvm/msg52098.html) and
> Michael's suggestions. The following series adds the multiqueue support for
> qemu and enable it for virtio-net (both userspace and vhost).
>
> The aim for this series is to simplified the management and achieve the same
> performacne with less codes.
>
> Follows are the differences between this series and Krishna's:
>
> - Add the multiqueue support for qemu and also for userspace virtio-net
> - Instead of hacking the vhost module to manipulate kthreads, this patch just
> implement the userspace based multiqueues and thus can re-use the existed vhost kernel-side codes without any modification.
> - Use 1:1 mapping between TX/RX pairs and vhost kthread because the
> implementation is based on usersapce.
> - The cli is also changed to make the mgmt easier, the -netdev option of qdev
> can now accpet more than one ids. You can start a multiqueue virtio-net device
> through:
> ./qemu-system-x86_64 -netdev tap,id=hn0,vhost=on,fd=X -netdev
> tap,id=hn0,vhost=on,fd=Y -device virtio-net-pci,netdev=hn0#hn1,queues=2 ...
>

Hi anthony:

Have any comments about this series (cli, codes, ...)?

Thanks.

> The series is very primitive and still need polished.
>
> Suggestions are welcomed.
> ---
>
> Jason Wang (2):
> net: Add multiqueue support
> virtio-net: add multiqueue support
>
>
> hw/qdev-properties.c | 37 ++++-
> hw/qdev.h | 3
> hw/vhost.c | 26 ++-
> hw/vhost.h | 1
> hw/vhost_net.c | 7 +
> hw/vhost_net.h | 2
> hw/virtio-net.c | 409 ++++++++++++++++++++++++++++++++------------------
> hw/virtio-net.h | 2
> hw/virtio-pci.c | 1
> hw/virtio.h | 1
> net.c | 34 +++-
> net.h | 15 +-
> 12 files changed, 353 insertions(+), 185 deletions(-)
>
> --
> Jason Wang
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html