qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/3] pci: ROM preallocation for incoming migration


From: Michael S. Tsirkin
Subject: Re: [PATCH 3/3] pci: ROM preallocation for incoming migration
Date: Tue, 25 Apr 2023 09:32:54 -0400

On Tue, Apr 25, 2023 at 04:19:12PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> On 25.04.23 16:07, Vladimir Sementsov-Ogievskiy wrote:
> > On 25.04.23 15:43, Michael S. Tsirkin wrote:
> > > On Tue, Apr 25, 2023 at 01:56:03PM +0300, Vladimir Sementsov-Ogievskiy 
> > > wrote:
> > > > On incoming migration we have the following sequence to load option
> > > > ROM:
> > > > 
> > > > 1. On device realize we do normal load ROM from the file
> > > > 
> > > > 2. Than, on incoming migration we rewrite ROM from the incoming RAM
> > > >     block. If sizes mismatch we fail.
> > > > 
> > > > This is not ideal when we migrate to updated distribution: we have to
> > > > keep old ROM files in new distribution and be careful around romfile
> > > > property to load correct ROM file. Which is loaded actually just to
> > > > allocate the ROM with correct length.
> > > > 
> > > > Note, that romsize property doesn't really help: if we try to specify
> > > > it when default romfile is larger, it fails with something like:
> > > > 
> > > > romfile "efi-virtio.rom" (160768 bytes) is too large for ROM size 65536
> > > > 
> > > > This commit brings new behavior for romfile="",romsize=SIZE combination
> > > > of options. Current behavior is just ignore romsize and not load or
> > > > create any ROM.
> > > > 
> > > > Let's instead preallocate ROM, not loading any file. This way we can
> > > > migrate old vm to new environment not thinking about ROM files on
> > > > destination host:
> > > > 
> > > > 1. specify romfile="",romsize=SIZE on target, with correct SIZE
> > > >     (actually, size of romfile on source aligned up to power of two, or
> > > >      just original romsize option on source)
> > > > 
> > > > 2. On device realize we just preallocate ROM, and not load any file
> > > > 
> > > > 3. On incoming migration ROM is filled from the migration stream
> > > > 
> > > > As a bonus we avoid extra reading from ROM file on target.
> > > > 
> > > > Signed-off-by: Vladimir Sementsov-Ogievskiy<vsementsov@yandex-team.ru>
> > > why is this a bad idea:
> > > - on source presumably user overrides romfile
> > > - we have a general rule that source and destination flags must match
> > > 
> > > I propose instead to ignore romfile if qemu is incoming migration
> > > and romsize has been specified.
> > > 
> > 
> > Hmm, that would work even better, as no additional options needed, thanks. 
> > I'll resend
> > 
> 
> romsize needed anyway, of course.

yes but it can match on source and dest.

> -- 
> Best regards,
> Vladimir




reply via email to

[Prev in Thread] Current Thread [Next in Thread]