From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KNwrE-00013A-V6 for qemu-devel@nongnu.org; Tue, 29 Jul 2008 17:35:49 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KNwrC-00011J-0S for qemu-devel@nongnu.org; Tue, 29 Jul 2008 17:35:47 -0400 Received: from [199.232.76.173] (port=49773 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KNwrB-00011G-SH for qemu-devel@nongnu.org; Tue, 29 Jul 2008 17:35:45 -0400 Received: from ecfrec.frec.bull.fr ([129.183.4.8]:43040) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KNwrA-0004iW-Ro for qemu-devel@nongnu.org; Tue, 29 Jul 2008 17:35:45 -0400 Subject: Re: [Qemu-devel] [patch 0/5][v2] qcow2: improve I/O performance with cache=off From: Laurent Vivier In-Reply-To: <488F6C3F.8050207@codemonkey.ws> References: <20080729141352.573798859@bull.net> <488F6C3F.8050207@codemonkey.ws> Content-Type: text/plain; charset=utf-8 Date: Tue, 29 Jul 2008 23:35:28 +0200 Message-Id: <1217367328.3858.14.camel@frecb07144> Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel@nongnu.org Le mardi 29 juillet 2008 =C3=A0 14:15 -0500, Anthony Liguori a =C3=A9crit= : > Laurent Vivier wrote: > > These patches improve qcow2 performance when used with cache=3Doff. > > > > They modify block-qcow2.c to read/write as many clusters as > > possible per bdrv_aio_[read|write](). > > =20 >=20 > This patch series looks like a pretty good clean up of the code. The=20 > perf improvement is a nice side effect too. >=20 > I'm a little concerned about how much code this touches though. How=20 Yes, I know, it's why I split it in several patches: easier to review, easier to test. > much testing have you done of these changes? Have you tested all of th= e=20 > corner cases (backing files, filling up a disk image, etc.)? Well, before all I made a lot of review of my modifications, but it must also be reviewed by other eyes. My test process was: qemu-img create test.qcow2 500MB qemu ... -hda boot.raw -hdb test.qcow2 mkfs /dev/hdb fsck /dev/hdb mount /dev/hdb /mnt cd /mnt dbench 16 cd umount /mnt fsck /dev/hdb mkfs /dev/hdb fsck /dev/hdb mount /dev/hdb /mnt cd /mnt tar xvf /root/linux.tar.bz2 cd umount /mnt fsck /dev/hdb mount /mnt cd /mnt/linux/ make defconfig make cd umount /mnt fsck /dev/hdb mount /mnt cd /mnt/linux make clean cd umount /mnt fsck /dev/hdb mount /dev/hdb cd /mnt rm -fr linux cd=20 umount /mnt fsck /dev/hdb mkfs /dev/hdb fsck /dev/hdb mount /dev/hdb /mnt dd if=3D/dev/zero of=3D/mnt/file umount /mnt fsck /dev/hdb mount /dev/hdb /mnt rm /mnt/file umount /mnt fsck /dev/hdb mount /dev/hdb /mnt cd /mnt dbench 1 cd umount /mnt fsck /dev/hdb I think it covers a lot of cases, but I didn't test encrypted disk image and compressed disk image. The case with backed files was tested only with mkfs/fsck/dbench. If you think these patches are good candidates to be included, I can make more tests. Regards, Laurent --=20 ----------------- Laurent.Vivier@bull.net ------------------ "La perfection est atteinte non quand il ne reste rien =C3=A0 ajouter mais quand il ne reste rien =C3=A0 enlever." Saint Exup=C3=A9ry