Fabiano Rosas <faro...@suse.de> writes: > Markus Armbruster <arm...@redhat.com> writes: > >> Fabiano Rosas <faro...@suse.de> writes: >> >>> Add the direct-io migration parameter that tells the migration code to >>> use O_DIRECT when opening the migration stream file whenever possible. >>> >>> This is currently only used for the secondary channels of fixed-ram >>> migration, which can guarantee that writes are page aligned. >>> >>> However the parameter could be made to affect other types of >>> file-based migrations in the future. >>> >>> Signed-off-by: Fabiano Rosas <faro...@suse.de> >> >> When would you want to enable @direct-io, and when would you want to >> leave it disabled? > > That depends on a performance analysis. You'd generally leave it > disabled unless there's some indication that the operating system is > having trouble draining the page cache. > > However I don't think QEMU should attempt any kind of prescription in > that regard. > > From the migration implementation perspective, we need to provide > alignment guarantees on the stream before allowing direct IO to be > enabled. In this series we're just enabling it for the secondary multifd > channels which do page-aligned reads/writes.
I'm asking because QEMU provides too many configuration options with too little guidance on how to use them. "You'd generally leave it disabled unless there's some indication that the operating system is having trouble draining the page cache" is guidance. It'll be a lot more useful in documentation than in the mailing list archive ;) >> What happens when you enable @direct-io with a migration that cannot use >> O_DIRECT? > > In this version of the series Daniel suggested that we fail migration in > case there's no support for direct IO or the migration doesn't support > it. Makes sense.