On Wed, Sep 27, 2023 at 02:32:37PM +0400, Marc-André Lureau wrote:
> On Tue, Sep 26, 2023 at 12:19 PM <marcandre.lur...@redhat.com> wrote:
> >
> > From: Marc-André Lureau <marcandre.lur...@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.lur...@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
> 

-- 
Peter Xu


Reply via email to