On Wed, Feb 27, 2019 at 03:56:27PM +0000, Daniel P. Berrangé wrote: > 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.
Okay, will fix. Stefan
signature.asc
Description: PGP signature