From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34196) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZEabL-0003hU-Ny for qemu-devel@nongnu.org; Mon, 13 Jul 2015 06:04:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZEabH-0007He-9Y for qemu-devel@nongnu.org; Mon, 13 Jul 2015 06:04:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60222) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZEabH-0007HU-1q for qemu-devel@nongnu.org; Mon, 13 Jul 2015 06:04:39 -0400 Date: Mon, 13 Jul 2015 11:04:37 +0100 From: Stefan Hajnoczi Message-ID: <20150713100437.GB17927@stefanha-thinkpad.redhat.com> References: <20150702012121.GA4477@ad.nay.redhat.com> <20150708173423-mutt-send-email-mst@redhat.com> <20150709132248.GA12399@stefanha-thinkpad.redhat.com> <20150709162723-mutt-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Pd0ReVV5GZGQvF3a" Content-Disposition: inline In-Reply-To: <20150709162723-mutt-send-email-mst@redhat.com> Subject: Re: [Qemu-devel] virtio-blk multiqueue support in qemu. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Stefan Hajnoczi , Naredula Janardhana Reddy , Fam Zheng , Ming Lei , qemu-devel@nongnu.org --Pd0ReVV5GZGQvF3a Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jul 09, 2015 at 04:29:30PM +0300, Michael S. Tsirkin wrote: > On Thu, Jul 09, 2015 at 02:22:48PM +0100, Stefan Hajnoczi wrote: > > On Wed, Jul 08, 2015 at 05:37:12PM +0300, Michael S. Tsirkin wrote: > > > On Thu, Jul 02, 2015 at 09:21:21AM +0800, Fam Zheng wrote: > > > > On Wed, 07/01 22:45, Naredula Janardhana Reddy wrote: > > > > > HI, > > > > > I am trying to improve the throughput of virtio-blk for my = kernel ( > > > > > https://github.com/naredula-jana/Jiny-Kernel ) to make use of t= he > > > > > multi-core using multi-queue. But I found the latest qemu does n= ot support > > > > > multiqueue for virtio-blk, The feature flag does not return multi= -queue > > > > > support. Do we have any patches to the qemu for enabling multi-qu= eue for > > > > > virtio-blk similar to that of virtio-net. Can someone help some = pointers > > > > > related to this.. > > > >=20 > > > > There was a series last year adding support for multi-queue but wan= 't merged to > > > > the code base: > > > >=20 > > > > http://comments.gmane.org/gmane.comp.emulators.qemu/289126 > > > >=20 > > > > Fam > > >=20 > > > Looks like it was mostly about the missing GPL license on some files. > > > Or did I miss some bigger issues? > >=20 > > I reviewed the series again. The most important part: > >=20 > > It was not a true multiqueue implementation - all the virtqueues are > > handled from a single thread in QEMU. The reason for this is that > > QEMU's block layer isn't threadsafe so a lot of work is necessary to > > support true multiqueue. > >=20 > > Also, the performance numbers quoted cannot be attributed to multiqueue > > due to the number of additional changes the series made. In the > > meantime, some of these additional changes have been merged as separate > > series. > >=20 > > On the positive side, we do need something similar to the last 3 patches > > to expose multiqueue to the guest. But it will require much more work > > in QEMU to achieve true multiqueue. > >=20 > > Stefan >=20 > Might this be useful as an intermediate step, e.g. for testing > guest code? Yes. It will have a performance impact since there are now more virtqueues and interrupts. It just won't scale the same way blk-mq does on the host. I'll put together patches based on qemu.git/master. Stefan --Pd0ReVV5GZGQvF3a Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJVo401AAoJEJykq7OBq3PIXqAIAMIamidfMh8SGhN70tsnryE2 /8DoqkBSIuF1NEweYTKFyERJp8iLwnUcmspTv8SaN0g1hHnXs1drhGrM/JLizdV9 kswh9sro1dQ8NGO8bEBt1cCQ59TUtcT+8jX3sbrcB6CvRIHjHIocO4quiB981Drx GhPKoBr2RMuTvV7PbstIhupYRPlgp/Q0+uX0tUNiP3314fjQgUZADEXcpDsBArO7 ATu9jXOrdgkbZ01wXOjQm5blv0rbTWurglwpWdwITGQJOIwW5LjZoaAdU3aTkCqK H+DfZlzQwC+qR+fPZMn3g+GkPC/7mlfBCXsU8xg/g28rStFkPTLkgslCXZtAKN0= =QFFm -----END PGP SIGNATURE----- --Pd0ReVV5GZGQvF3a--