Message ID | 20230926081819.433631-1-marcandre.lureau@redhat.com |
---|---|
State | New |
Headers | show |
Series | analyze-migration: ignore RAM_SAVE_FLAG_MULTIFD_FLUSH | expand |
On Tue, Sep 26, 2023 at 12:19 PM <marcandre.lureau@redhat.com> wrote: > > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > Traceback (most recent call last): > File "scripts/analyze-migration.py", line 605, in <module> > dump.read(dump_memory = args.memory) > File "scripts/analyze-migration.py", line 542, in read > section.read() > File "scripts/analyze-migration.py", line 214, in read > raise Exception("Unknown RAM flags: %x" % flags) > Exception: Unknown RAM flags: 200 > > See commit 77c259a4cb ("multifd: Create property multifd-flush-after-each-section") > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> cc Peter and Juan > --- > scripts/analyze-migration.py | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py > index b82a1b0c58..082424558b 100755 > --- a/scripts/analyze-migration.py > +++ b/scripts/analyze-migration.py > @@ -111,6 +111,8 @@ class RamSection(object): > RAM_SAVE_FLAG_CONTINUE = 0x20 > RAM_SAVE_FLAG_XBZRLE = 0x40 > RAM_SAVE_FLAG_HOOK = 0x80 > + RAM_SAVE_FLAG_COMPRESS_PAGE = 0x100 > + RAM_SAVE_FLAG_MULTIFD_FLUSH = 0x200 > > def __init__(self, file, version_id, ramargs, section_key): > if version_id != 4: > @@ -205,6 +207,8 @@ def read(self): > raise Exception("XBZRLE RAM compression is not supported yet") > elif flags & self.RAM_SAVE_FLAG_HOOK: > raise Exception("RAM hooks don't make sense with files") > + if flags & self.RAM_SAVE_FLAG_MULTIFD_FLUSH: > + continue > > # End of RAM section > if flags & self.RAM_SAVE_FLAG_EOS: > -- > 2.41.0 > >
marcandre.lureau@redhat.com writes: > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > Traceback (most recent call last): > File "scripts/analyze-migration.py", line 605, in <module> > dump.read(dump_memory = args.memory) > File "scripts/analyze-migration.py", line 542, in read > section.read() > File "scripts/analyze-migration.py", line 214, in read > raise Exception("Unknown RAM flags: %x" % flags) > Exception: Unknown RAM flags: 200 > > See commit 77c259a4cb ("multifd: Create property multifd-flush-after-each-section") > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Fabiano Rosas <farosas@suse.de> This is the second time this FLUSH flag has caused issues. If I figure out how to make meson copy the script to the build dir I could add a test for this to migration-test.c.
On Wed, Sep 27, 2023 at 02:32:37PM +0400, Marc-André Lureau wrote: > On Tue, Sep 26, 2023 at 12:19 PM <marcandre.lureau@redhat.com> wrote: > > > > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > > > Traceback (most recent call last): > > File "scripts/analyze-migration.py", line 605, in <module> > > dump.read(dump_memory = args.memory) > > File "scripts/analyze-migration.py", line 542, in read > > section.read() > > File "scripts/analyze-migration.py", line 214, in read > > raise Exception("Unknown RAM flags: %x" % flags) > > Exception: Unknown RAM flags: 200 > > > > See commit 77c259a4cb ("multifd: Create property multifd-flush-after-each-section") > > > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > > cc Peter and Juan Sorry to be late.. It's actually a bug to have MULTIFD_FLUSH in the stream in the first place, though.. the fix to make that MULTIFD_FLUSH disappear should be in Juan's next pull. IIUC logically analyze-migration.py shouldn't be able to understand multifd, because it relies on a solo stream file, while multifd is already against it. We plan to add "file:" support for multifd, but even with that I doubt whether there'll be MULTIFD_FLUSH kept in the final file because it's only used to sync threads. Thanks, > > > --- > > scripts/analyze-migration.py | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py > > index b82a1b0c58..082424558b 100755 > > --- a/scripts/analyze-migration.py > > +++ b/scripts/analyze-migration.py > > @@ -111,6 +111,8 @@ class RamSection(object): > > RAM_SAVE_FLAG_CONTINUE = 0x20 > > RAM_SAVE_FLAG_XBZRLE = 0x40 > > RAM_SAVE_FLAG_HOOK = 0x80 > > + RAM_SAVE_FLAG_COMPRESS_PAGE = 0x100 > > + RAM_SAVE_FLAG_MULTIFD_FLUSH = 0x200 > > > > def __init__(self, file, version_id, ramargs, section_key): > > if version_id != 4: > > @@ -205,6 +207,8 @@ def read(self): > > raise Exception("XBZRLE RAM compression is not supported yet") > > elif flags & self.RAM_SAVE_FLAG_HOOK: > > raise Exception("RAM hooks don't make sense with files") > > + if flags & self.RAM_SAVE_FLAG_MULTIFD_FLUSH: > > + continue > > > > # End of RAM section > > if flags & self.RAM_SAVE_FLAG_EOS: > > -- > > 2.41.0 > > > > > > > -- > Marc-André Lureau >
diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py index b82a1b0c58..082424558b 100755 --- a/scripts/analyze-migration.py +++ b/scripts/analyze-migration.py @@ -111,6 +111,8 @@ class RamSection(object): RAM_SAVE_FLAG_CONTINUE = 0x20 RAM_SAVE_FLAG_XBZRLE = 0x40 RAM_SAVE_FLAG_HOOK = 0x80 + RAM_SAVE_FLAG_COMPRESS_PAGE = 0x100 + RAM_SAVE_FLAG_MULTIFD_FLUSH = 0x200 def __init__(self, file, version_id, ramargs, section_key): if version_id != 4: @@ -205,6 +207,8 @@ def read(self): raise Exception("XBZRLE RAM compression is not supported yet") elif flags & self.RAM_SAVE_FLAG_HOOK: raise Exception("RAM hooks don't make sense with files") + if flags & self.RAM_SAVE_FLAG_MULTIFD_FLUSH: + continue # End of RAM section if flags & self.RAM_SAVE_FLAG_EOS: