From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54243) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxzVF-0004UL-Pb for qemu-devel@nongnu.org; Thu, 28 May 2015 11:13:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YxzVB-0003DF-BJ for qemu-devel@nongnu.org; Thu, 28 May 2015 11:13:49 -0400 Message-ID: <556730A1.40705@redhat.com> Date: Thu, 28 May 2015 09:13:37 -0600 From: Eric Blake MIME-Version: 1.0 References: <8007efe81120cd72f7c4145b8bbc3f4bc558e62d.1432719752.git.berto@igalia.com> <55672CA2.10105@redhat.com> In-Reply-To: <55672CA2.10105@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="DuWBlRNtmXhUwPngxV0QIG4Nd4OkCLRWp" Subject: Re: [Qemu-devel] [PATCH 2/3] qcow2: add option to clean unused cache entries after some time List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Max Reitz , Alberto Garcia , qemu-devel@nongnu.org Cc: Kevin Wolf , qemu-block@nongnu.org, Stefan Hajnoczi This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --DuWBlRNtmXhUwPngxV0QIG4Nd4OkCLRWp Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 05/28/2015 08:56 AM, Max Reitz wrote: > On 27.05.2015 11:46, Alberto Garcia wrote: >> This adds a new 'cache-clean-interval' option that cleans all qcow2 >> cache entries that haven't been used in a certain interval, given in >> seconds. >> >> This allows setting a large L2 cache size so it can handle scenarios >> with lots of I/O and at the same time use little memory during periods= >> of inactivity. >> >> This feature currently relies on MADV_DONTNEED to free that memory, so= >> it is not useful in systems that don't follow that behavior. >> >> +++ b/qapi/block-core.json >> @@ -41,6 +41,10 @@ >> # @corrupt: #optional true if the image has been marked corrupt; >> only valid for >> # compat >=3D 1.1 (since 2.2) >> # >> +# @cache-clean-interval: interval in seconds after which unused L2 an= d >> +# refcount cache entries are removed. If 0 the= n >> +# this feature is not enabled (since 2.4) >> +# >> # @refcount-bits: width of a refcount entry in bits (since 2.3) >> # >> # Since: 1.7 >> @@ -50,7 +54,8 @@ >> 'compat': 'str', >> '*lazy-refcounts': 'bool', >> '*corrupt': 'bool', >> - 'refcount-bits': 'int' >> + 'refcount-bits': 'int', >> + 'cache-clean-interval': 'int' >> } } >=20 > I'm not too happy about making this part of ImageInfoSpecificQCow2. Two= > reasons for this: First, it's eventually part of ImageInfo, which is > defined as "Information about a QEMU image file", but this option canno= t > be set in the image file itself but is only a run-time option. >=20 > Second, my original goal for ImageInfoSpecific was to provide more > information through qemu-img info, and this value will look pretty > strange there. >=20 > I don't know how to resolve this quandary, though. Since qemu cannot > change this interval by itself, I think not providing an interface for > reading it is fine. On the other hand, if Eric finds such an interface > absolutely mandatory, I can't think of a better place to return it than= > here. Can we mark the parameter optional, and only provide it when it is non-zero? That way, qemu-img (which cannot set an interval) will not report it, and the only time it will appear is if it was set as part of opening the block device under qemu. >=20 > The only solution which would satisfy both requirements would be anothe= r > structure which contains "online" flags, and thus is not evaluated by > qemu-img info, but only by QMP commands. But that's ugly. >=20 Yeah, I'm not sure such duplication helps. I'd still like it reported somewhere, though, as it is nice to query that a requested setting is actually working. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --DuWBlRNtmXhUwPngxV0QIG4Nd4OkCLRWp 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/ iQEcBAEBCAAGBQJVZzChAAoJEKeha0olJ0Nq/YoH/j5ClWV35fomz9wmclJXjzEG 4V2wZbzOrS+ChhhkanSL/pwcmt5jllEMqBES7eskNHmlhHH/vbXK85KzK8Ti7+bG 2LfyhIGzPfVweCu3OLeOHD9y6s/2aKonh7ZmCTmaRS1efoMs1G4igz+JfWLToVEa b5yjUtnCRjp6sAmQCanAxR4jPENS9KE/DtwaQf7gGswdfKT9cm3IM+BpR7WpoCiu VG1619P+8SjoM9nxvI+mtfyJWKdBQhlwlf75txRw/le61GswYjsme2qDwOJ3xm5b HI8pys3d//KlMuKr0kjBxt9/i+jH1KI3YXMvX1RU1IV+AOLuMz/RJIoOqYXviic= =tNeE -----END PGP SIGNATURE----- --DuWBlRNtmXhUwPngxV0QIG4Nd4OkCLRWp--