On Thu, Aug 01, 2024 at 09:35:14AM -0300, Fabiano Rosas wrote: > Separate the multifd sync from flushing the client data to the > channels. These two operations are closely related but not strictly > necessary to be executed together. > > The multifd sync is intrinsic to how multifd works. The multiple > channels operate independently and may finish IO out of order in > relation to each other. This applies also between the source and > destination QEMU. > > Flushing the data that is left in the client-owned data structures > (e.g. MultiFDPages_t) prior to sync is usually the right thing to do, > but that is particular to how the ram migration is implemented with > several passes over dirty data. > > Make these two routines separate, allowing future code to call the > sync by itself if needed. This also allows the usage of > multifd_ram_send to be isolated to ram code.
What's the usage of sync but not flush here? -- Peter Xu