[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V4 00/22] Multiqueue virtio-net
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH V4 00/22] Multiqueue virtio-net |
Date: |
Thu, 31 Jan 2013 15:58:35 +0200 |
On Thu, Jan 31, 2013 at 06:44:49AM -0700, Eric Blake wrote:
> On 01/31/2013 12:00 AM, Jason Wang wrote:
> > On 01/31/2013 02:29 AM, Eric Blake wrote:
> >> On 01/30/2013 04:12 AM, Jason Wang wrote:
> >>
> >>> With this changes, user could start a multiqueue virtio-net device through
> >>>
> >>> ./qemu -netdev tap,id=hn0,queues=2,vhost=on -device
> >>> virtio-net-pci,netdev=hn0
> >>>
> >>> Management tools such as libvirt can pass multiple pre-created
> >>> fds/vhostfds through
> >>>
> >>> ./qemu -netdev tap,id=hn0,fds=X:Y,vhostfds=M:N -device
> >>> virtio-net-pci,netdev=hn0
> >> Do we really need specific fds= parsing, or can we reuse the existing
> >> -add-fd command line option to our advantage? I guess what I'm asking
> >> is how hotplug will work; and if hotplug takes a file name, shouldn't
> >> the command line also take a name; and if the command line takes a name,
> >> what's wrong with:
> >>
> >> ./qemu -add-fd fdset=1,fd=X -add-fd fdset=2,fd=Y -add-fd fdset=3,fd=M
> >> -add-fd fdset=4,fd=N -netdev
> >> tap,id=hn0,fds=/dev/fdset/1:/dev/fdset/2,vhostfds=/dev/fdset/3:/dev/fdset/4
> >> -device virtio-net-pci,netdev=hn0
> >>
> >
> > AFAIK, tap does not support fdset now, so this requirement is beyond the
> > scope of multiqueue itself. We can do this in the future. Btw does
> > libvirt support add-fd now?
>
> Anything that uses qemu_open() supports fdset now. The question I'm
> asking is whether the command line has a way to pass /path/to/name
> (which can be presented as /dev/fdset/nnn for add-fd usage) now, or
> whether it only supports fds=integers.
>
> >
> > For hotplug, it just work if you pass multiple file descriptors one by
> > one through getfd and then use fds=X:Y,vhostfds=M:N.
>
> For hotplug, you can't pass integers; you have to name the fds either
> way. Either you name it with getfd, or you name it with add-fd. But
> getfd is not as nice as add-fd when it comes to ensuring that fds are
> not leaked in qemu, even when the management app such as libvirt
> restarts. Furthermore, if it is possible to specify taps by pathname
> instead of by fd inheritance,
I don't think there's a way to specify taps by pathname.
> then using getfd means you have to support
> two different approaches in QMP to distinguish which string is being
> supplied, while supporting add-fd means you only have to support
> qemu_open() which handles both direct names and fd passing in a single
> string interface.
>
> As for libvirt support of add-fd, I'm currently working with Stefan
> Berger to get patches applied; the goal is tha libvirt 1.0.3 (end of
> February) will support add-fd.
>
> --
> Eric Blake eblake redhat com +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
>
- [Qemu-devel] [PATCH V4 03/22] net: introduce qemu_get_queue(), (continued)
- [Qemu-devel] [PATCH V4 03/22] net: introduce qemu_get_queue(), Jason Wang, 2013/01/30
- [Qemu-devel] [PATCH V4 14/22] tap: introduce a helper to get the name of an interface, Jason Wang, 2013/01/30
- [Qemu-devel] [PATCH V4 17/22] virtio: introduce virtio_del_queue(), Jason Wang, 2013/01/30
- [Qemu-devel] [PATCH V4 18/22] virtio: add a queue_index to VirtQueue, Jason Wang, 2013/01/30
- [Qemu-devel] [PATCH V4 21/22] virtio-net: migration support for multiqueue, Jason Wang, 2013/01/30
- [Qemu-devel] [PATCH V4 16/22] vhost: multiqueue support, Jason Wang, 2013/01/30
- [Qemu-devel] [PATCH V4 19/22] virtio-net: separate virtqueue from VirtIONet, Jason Wang, 2013/01/30
- [Qemu-devel] [PATCH V4 22/22] virtio-net: compat multiqueue support, Jason Wang, 2013/01/30
- Message not available
Re: [Qemu-devel] [PATCH V4 00/22] Multiqueue virtio-net, Michael S. Tsirkin, 2013/01/31