qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [Qemu-devel] [PATCH] file-posix: add drop-cache=on|off


From: Daniel P . Berrangé
Subject: Re: [Qemu-block] [Qemu-devel] [PATCH] file-posix: add drop-cache=on|off option
Date: Wed, 27 Feb 2019 15:56:27 +0000
User-agent: Mutt/1.10.1 (2018-07-13)

On Wed, Feb 27, 2019 at 03:33:11PM +0000, Stefan Hajnoczi wrote:
> On Tue, Feb 26, 2019 at 10:54:55AM -0600, Eric Blake wrote:
> > On 2/26/19 9:35 AM, Stefan Hajnoczi wrote:
> > > Commit dd577a26ff03b6829721b1ffbbf9e7c411b72378 ("block/file-posix:
> > > implement bdrv_co_invalidate_cache() on Linux") introduced page cache
> > > invalidation so that cache.direct=off live migration is safe on Linux.
> > > 
> > > The invalidation takes a significant amount of time when the file is
> > > large and present in the page cache.  Normally this is not the case for
> > > cross-host live migration but it can happen when migrating between QEMU
> > > processes on the same host.
> > > 
> > > On same-host migration we don't need to invalidate pages for correctness
> > > anyway, so an option to skip page cache invalidation is useful.  I
> > > investigated optimizing invalidation and detecting same-host migration,
> > > but both are hard to achieve so a user-visible option will suffice.
> > > 
> > > As a bonus this option means that the cache invalidation feature will
> > > now be detectable by libvirt via QMP schema introspection.
> > 
> > Do you still want to pursue the QMP query-qemu-features command, or does
> > this delay that for another day?
> 
> The presence of this new option doesn't guarantee that dropping caches
> works.  It is currently only implemented on Linux.
> 
> We still need query-qemu-features so that libvirt can detect whether
> this QEMU binary can drop caches (e.g. on Linux vs FreeBSD).

The commit message said that libvirt would use this new option to
detect availability of the cache drop feature. That should probably
be removed from the commit message, as this caveat about non-portable
impl means libvirt can't actually rely on it.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]