On Wed, Feb 28, 2024 at 12:21:18PM -0300, Fabiano Rosas wrote:
> For the upcoming support to the new 'mapped-ram' migration stream
> format, we cannot use multifd packets because each write into the
> ramblock section in the migration file is expected to contain only the
> guest pages. They are written at their respective offsets relative to
> the ramblock section header.
>
> There is no space for the packet information and the expected gains
> from the new approach come partly from being able to write the pages
> sequentially without extraneous data in between.
>
> The new format also simply doesn't need the packets and all necessary
> information can be taken from the standard migration headers with some
> (future) changes to multifd code.
>
> Use the presence of the mapped-ram capability to decide whether to
> send packets.
>
> This only moves code under multifd_use_packets(), it has no effect for
> now as mapped-ram cannot yet be enabled with multifd.
>
> Signed-off-by: Fabiano Rosas <[email protected]>
> ---
> - added multifd_send_prepare_iovs
I saw that you also moved p->next_packet_size setup into it. IMHO it
doesn't need to be there; it'll also be tiny bit confusing to setup
next_packet_size when !use_packet to me.
But I think I get your point on putting that together with IOV setups.
Not a big deal.
> - posted channels_created at file.c as well
This is done in the other patch ("migration/multifd: Add outgoing
QIOChannelFile support"). It won't appear when it's merged anyway, so
that's fine.
Reviewed-by: Peter Xu <[email protected]>
--
Peter Xu