From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49387) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bF7lX-00066q-IZ for qemu-devel@nongnu.org; Mon, 20 Jun 2016 18:34:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bF7lV-0005tG-9E for qemu-devel@nongnu.org; Mon, 20 Jun 2016 18:33:58 -0400 References: <1466435958-308-1-git-send-email-den@openvz.org> From: Eric Blake Message-ID: <57686F4D.6000906@redhat.com> Date: Mon, 20 Jun 2016 16:33:49 -0600 MIME-Version: 1.0 In-Reply-To: <1466435958-308-1-git-send-email-den@openvz.org> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="likLAAQoCB1kEl0dhRLj9TAJ3bNSspaKu" Subject: Re: [Qemu-devel] [PATCH 1/1] block: ignore flush requests when storage is clean List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Denis V. Lunev" , qemu-block@nongnu.org, qemu-devel@nongnu.org Cc: Kevin Wolf , Fam Zheng , Evgeny Yakovlev , Max Reitz , Stefan Hajnoczi This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --likLAAQoCB1kEl0dhRLj9TAJ3bNSspaKu From: Eric Blake To: "Denis V. Lunev" , qemu-block@nongnu.org, qemu-devel@nongnu.org Cc: Kevin Wolf , Fam Zheng , Evgeny Yakovlev , Max Reitz , Stefan Hajnoczi Message-ID: <57686F4D.6000906@redhat.com> Subject: Re: [Qemu-devel] [PATCH 1/1] block: ignore flush requests when storage is clean References: <1466435958-308-1-git-send-email-den@openvz.org> In-Reply-To: <1466435958-308-1-git-send-email-den@openvz.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 06/20/2016 09:19 AM, Denis V. Lunev wrote: > From: Evgeny Yakovlev >=20 > Some guests (win2008 server for example) do a lot of unnecessary > flushing when underlying media has not changed. This adds additional > overhead on host when calling fsync/fdatasync. >=20 > This change introduces a dirty flag in BlockDriverState which is set > in bdrv_set_dirty and is checked in bdrv_co_flush. This allows us to > avoid unnessesary flushing when storage is clean. s/unnessesary/unnecessary/ >=20 > The problem with excessive flushing was found by a performance test > which does parallel directory tree creation (from 2 processes). > Results improved from 0.424 loops/sec to 0.432 loops/sec. > Each loop creates 10^3 directories with 10 files in each. >=20 > Signed-off-by: Evgeny Yakovlev > Signed-off-by: Denis V. Lunev > CC: Kevin Wolf > CC: Max Reitz > CC: Stefan Hajnoczi > CC: Fam Zheng > --- > block.c | 1 + > block/dirty-bitmap.c | 3 +++ > block/io.c | 6 ++++++ > include/block/block_int.h | 1 + > 4 files changed, 11 insertions(+) Otherwise seems reasonable, but I'll let others with more experience on flush semantics chime in. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --likLAAQoCB1kEl0dhRLj9TAJ3bNSspaKu Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJXaG9NAAoJEKeha0olJ0NqP+8IAI2V/U/UbZMRE9J1Kqqyibzy dzUup3JxcvCDYSZsBD5q7Tixjp95pWIRZNSz6c4s0cVCE99cuC/KxoFA4ZOy6LBf DkP0pUiNM5r5QfqywRt7qlHwRhp/1LXGwSKT9aYpJvg7n+sduKlWRO+qfzdWPvr0 3aXBI/9Vky6WouzgRzy8pbYtHx7NNtKrqt5iN7K8LEhykTiKX7Q9TDYNdr315ED1 ofTXvWKKnFn+pUKuD1YutGYX6/MgEI1BI3SWf64DgfrJQuQ/Y2BMKhtMWWvdnsJd 6MQbHhnLBX/Og6VgvlnH3v8y22MtplSs2D6Fzhua/eJb+eaW0ZpSpJST51peevg= =C6Cq -----END PGP SIGNATURE----- --likLAAQoCB1kEl0dhRLj9TAJ3bNSspaKu--