-----Original Message----- From: qemu-s390x-bounces+jadon.mcdowell=optum....@nongnu.org <qemu-s390x-bounces+jadon.mcdowell=optum....@nongnu.org> On Behalf Of Vladimir Sementsov-Ogievskiy Sent: Tuesday, February 14, 2023 9:27 AM To: Juan Quintela <quint...@redhat.com>; qemu-devel@nongnu.org Cc: Ilya Leoshkevich <i...@linux.ibm.com>; qemu-bl...@nongnu.org; Alex Williamson <alex.william...@redhat.com>; Fam Zheng <f...@euphon.net>; Eric Blake <ebl...@redhat.com>; Dr. David Alan Gilbert <dgilb...@redhat.com>; Stefan Hajnoczi <stefa...@redhat.com>; Halil Pasic <pa...@linux.ibm.com>; David Hildenbrand <da...@redhat.com>; Thomas Huth <th...@redhat.com>; Eric Farman <far...@linux.ibm.com>; qemu-s3...@nongnu.org; John Snow <js...@redhat.com>; Christian Borntraeger <borntrae...@linux.ibm.com>; Richard Henderson <richard.hender...@linaro.org> Subject: Re: [PATCH 3/3] migration: Remove _only suffix for res_postcopy/precopy
On 08.02.23 16:57, Juan Quintela wrote: > Once that res_compatible is removed, they don't make sense anymore. > > Signed-off-by: Juan Quintela <quint...@redhat.com> > --- > include/migration/register.h | 18 ++++++++---------- > migration/savevm.h | 8 ++++---- > hw/s390x/s390-stattrib.c | 7 +++---- > hw/vfio/migration.c | 10 ++++------ > migration/block-dirty-bitmap.c | 6 +++--- > migration/block.c | 7 +++---- > migration/ram.c | 18 ++++++++---------- > migration/savevm.c | 24 ++++++++++-------------- > 8 files changed, 43 insertions(+), 55 deletions(-) > > diff --git a/include/migration/register.h > b/include/migration/register.h index a958a92a0f..4a4a6d7174 100644 > --- a/include/migration/register.h > +++ b/include/migration/register.h > @@ -47,22 +47,20 @@ typedef struct SaveVMHandlers { > /* This runs outside the iothread lock! */ > int (*save_setup)(QEMUFile *f, void *opaque); > /* Note for save_live_pending: > - * - res_precopy_only is for data which must be migrated in precopy phase > + * - res_precopy is for data which must be migrated in precopy > + phase > * or in stopped state, in other words - before target vm start > - * - res_postcopy_only is for data which must be migrated in postcopy > phase > + * - res_postcopy is for data which must be migrated in postcopy > + phase > * or in stopped state, in other words - after source vm stop That's now wrong. "postcopy" is everything except "precopy", as it includes "compat". Really, for RAM, it can be copied in precopy too, and it is copied in precopy until user run command migrate-start-postcopy. (In contrast: block-dirty-bitmap cannot migrate in precopy at all, it migrate only in stopped state or in postcopy). So, finally: "precopy" definition: - must be migrated in precopy or in stopped state - in other words: must be migrated before target start - in other words: can't be migrated in postcopy - in other words: can't be migrated after target start "postcopy" definition: - can migrate in postcopy - in other words: can migrate after target start some properties: - probably can be migrated in precopy (like RAM), or, may be not (like block-dirty-bitmap) - of course, can be migrated in stopped state To be absolutely clear, we may rename them to "not_postcopyable" and "postcopyable". -- Best regards, Vladimir This e-mail, including attachments, may include confidential and/or proprietary information, and may be used only by the person or entity to which it is addressed. If the reader of this e-mail is not the intended recipient or intended recipient’s authorized agent, the reader is hereby notified that any dissemination, distribution or copying of this e-mail is prohibited. If you have received this e-mail in error, please notify the sender by replying to this message and delete this e-mail immediately.