On 6/15/2023 10:50 AM, Fabiano Rosas wrote: > Peter Xu <pet...@redhat.com> writes: > >> On Wed, Jun 14, 2023 at 02:59:54PM -0300, Fabiano Rosas wrote: >>> In this message Daniel mentions virDomainSnapshotXXX which would benefit >>> from using the same "file" migration, but being done live: >>> >>> https://lore.kernel.org/r/zd7mrgq+4qsdb...@redhat.com >>> >>> And from your response here: >>> https://lore.kernel.org/r/ZEA759BSs75ldW6Y@x1n >>> >>> I had understood that having a new SUSPEND cap to decide whether to do >>> it live or non-live would be enough to cover all use-cases. >> >> Oh, I probably lost some of the contexts there, sorry about that - so it's >> about not being able to live snapshot on !LINUX worlds properly, am I >> right? >> > > Right, so that gives us for now a reasonable use-case for keeping live > migration behavior possible with "file:". > >> In the ideal world where we can always synchronously tracking guest pages >> (like what we do with userfaultfd wr-protections on modern Linux), the >> !SUSPEND case should always be covered by CAP_BACKGROUND_SNAPSHOT already >> in a more performant way. IOW, !SUSPEND seems to be not useful to Linux, >> because whenever we want to set !SUSPEND we should just use BG_SNAPSHOT. >> > > I agree. > >> But I think indeed the live snapshot support is not good enough. Even on >> Linux, it lacks different memory type supports, multi-process support, and >> also no-go on very old kernels. So I assume the fallback makes sense, and >> then we can't always rely on that. >> >> Then I agree we can keep "file:" the same as others like proposed here, but >> I'd like to double check with all of us so we're on the same page.. > > +1 > >> And maybe we should mention some discussions into commit message or >> comments where proper in the code, so we can track what has happened >> easier. >> > > I'll add some words where appropriate in my series as well. A v2 is > already overdue with all the refactorings that have happened in the > migration code.
Peter, should one of us proceed to submit the file URI as a stand-alone patch, since we both need it, and it has some value on its own? My version adds a watch on the incoming channel so we do not block monitor commands. It also adds tracepoints like the other URI's. Fabiano's version adds a nice unit test. Maybe we should submit a small series with both. - Steve