From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45945) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X2gG3-0000z1-76 for qemu-devel@nongnu.org; Thu, 03 Jul 2014 08:37:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X2gFu-0005jq-5U for qemu-devel@nongnu.org; Thu, 03 Jul 2014 08:36:59 -0400 Received: from mail-wi0-x230.google.com ([2a00:1450:400c:c05::230]:49578) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X2gFt-0005iy-UL for qemu-devel@nongnu.org; Thu, 03 Jul 2014 08:36:50 -0400 Received: by mail-wi0-f176.google.com with SMTP id n3so11327804wiv.9 for ; Thu, 03 Jul 2014 05:36:49 -0700 (PDT) Date: Thu, 3 Jul 2014 14:36:46 +0200 From: Stefan Hajnoczi Message-ID: <20140703123646.GD28032@stefanha-thinkpad.redhat.com> References: <1404303528-7115-1-git-send-email-ming.lei@canonical.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="ieNMXl1Fr3cevapt" Content-Disposition: inline In-Reply-To: <1404303528-7115-1-git-send-email-ming.lei@canonical.com> Subject: Re: [Qemu-devel] [PATCH v4 0/3] linux-aio: introduce submit I/O as a batch List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ming Lei Cc: Kevin Wolf , Peter Maydell , Fam Zheng , "Michael S. Tsirkin" , qemu-devel@nongnu.org, Stefan Hajnoczi , Paolo Bonzini --ieNMXl1Fr3cevapt Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Jul 02, 2014 at 08:18:45PM +0800, Ming Lei wrote: > Hi, >=20 > The commit 580b6b2aa2(dataplane: use the QEMU block layer for I/O) > introduces ~40% throughput regression on virtio-blk dataplane, and > one of causes is that submitting I/O as a batch is removed. >=20 > This patchset trys to introduce this mechanism on block, at least, > linux-aio can benefit from that. >=20 > With these patches, it is observed that thoughout on virtio-blk > dataplane can be improved a lot, see data in commit log of patch > 3/3. >=20 > It should be possible to apply the batch mechanism to other devices > (such as virtio-scsi) too. >=20 > TODO: > - support queuing I/O to multi files which need lots of change > to linux-aio for scsi devies >=20 > V4: > - support other non-raw formats with under-optimized performance > - use reference counter for plug & unplug > - flush io queue before sending flush command >=20 > V3: > - only support submitting I/O as a batch for raw format, pointed by > Kevin >=20 > V2: > - define return value of bdrv_io_unplug as void, suggested by Paolo > - avoid busy-wait for handling io_submit > V1: > - move queuing io stuff into linux-aio.c as suggested by Paolo >=20 >=20 > Thanks, > -- > Ming Lei Nice performance fix. Together with the other fixes we've been discussing I think we can fight a dataplane performance regression from QEMU 2.0 to 2.1. Looking forward to the next revision. Stefan --ieNMXl1Fr3cevapt Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJTtU5eAAoJEJykq7OBq3PIzrgIAMjvHfbVImua/N3zyB1UXH5I +oVp6o2bO1QBTSm75WTQjVZq0S6WqVV/Y7xgzzPqyfT6fwcOCSx3hhDGVfdOAoao RfU04ZI//f9UUC970mQbf+cHHRQORX3oC4IPFiMXx1oNAft3vt1Qs+frHvDa3caq z24ug14/E4pshQizaQe6e8LX+vTW2XG59EoUkG7weaha/0+OHXCsnygAn7FB7VWH DBGclDBsgqWm2Np3GR3/k+RHJfoLLObmEPz8b0jqA+LnMJHGozdGCBDDIn8/Gdbm vbbpEkGbdnXr/45Fmggkj3h6QFem2YuSACPJmztE3x2MlJ1DSn1JeVqaFNjsz2U= =/aet -----END PGP SIGNATURE----- --ieNMXl1Fr3cevapt--