From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Blake Subject: Re: [PATCH V4 00/22] Multiqueue virtio-net Date: Thu, 31 Jan 2013 06:44:49 -0700 Message-ID: <510A7551.9010304@redhat.com> References: <1359544361-5089-1-git-send-email-jasowang@redhat.com> <5109669F.5010405@redhat.com> <510A1696.6050409@redhat.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="----enig2ASCEQTHQWJUHDCURCTSJ" Cc: krkumar2@in.ibm.com, aliguori@us.ibm.com, kvm@vger.kernel.org, mst@redhat.com, mprivozn@redhat.com, rusty@rustcorp.com.au, qemu-devel@nongnu.org, blauwirbel@gmail.com, shajnocz@redhat.com, gaowanlong@cn.fujitsu.com, jwhan@filewood.snu.ac.kr, shiyer@redhat.com To: Jason Wang Return-path: In-Reply-To: <510A1696.6050409@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org List-Id: kvm.vger.kernel.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2ASCEQTHQWJUHDCURCTSJ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 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 th= rough >>> >>> ./qemu -netdev tap,id=3Dhn0,queues=3D2,vhost=3Don -device virtio-net-= pci,netdev=3Dhn0 >>> >>> Management tools such as libvirt can pass multiple pre-created fds/vh= ostfds through >>> >>> ./qemu -netdev tap,id=3Dhn0,fds=3DX:Y,vhostfds=3DM:N -device virtio-n= et-pci,netdev=3Dhn0 >> Do we really need specific fds=3D parsing, or can we reuse the existin= g >> -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 nam= e, >> what's wrong with: >> >> ./qemu -add-fd fdset=3D1,fd=3DX -add-fd fdset=3D2,fd=3DY -add-fd fdset= =3D3,fd=3DM >> -add-fd fdset=3D4,fd=3DN -netdev >> tap,id=3Dhn0,fds=3D/dev/fdset/1:/dev/fdset/2,vhostfds=3D/dev/fdset/3:/= dev/fdset/4 >> -device virtio-net-pci,netdev=3Dhn0 >> >=20 > AFAIK, tap does not support fdset now, so this requirement is beyond th= e > 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=3Dintegers. >=20 > For hotplug, it just work if you pass multiple file descriptors one by > one through getfd and then use fds=3DX:Y,vhostfds=3DM: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, 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. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org ------enig2ASCEQTHQWJUHDCURCTSJ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJRCnVRAAoJEKeha0olJ0NqmMoH/1zKi+31baAyD0loDDJCYpCA lR4qYgfjXaekESx5V5BzQ6YVdacASa7qXj22dVjLgOzLKbDNa/GwQpagwWvR9ZFt prw/duSPMt6Uetu8mWRoJpr7mBv/NyDjUtODoKjy6IomDCHZX6+xjnEM0A11Q558 58coH1b+qS3MGOxDhY4J0gxnk2KNQ3DDx8v6x47BZaH+XZR5cFCv9drBOm0VYTHw CsVsfnfuO5A855RAoeMvE9daMQZ38WpVTzx/Xuz7BNkuR7h0OEXKs8AzUMC9tqjk 5OqcQZ3l5r0AJaSIXk5fbzniUBtaqAxrMfNkD4y2g63zeDQ6yk8FSV1a4FLMGaY= =aRCP -----END PGP SIGNATURE----- ------enig2ASCEQTHQWJUHDCURCTSJ--