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 > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html