qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH v2 10/49] rtl8139: adding new fields to vmst


From: Pavel Dovgaluk
Subject: Re: [Qemu-devel] [RFC PATCH v2 10/49] rtl8139: adding new fields to vmstate
Date: Wed, 30 Jul 2014 12:24:04 +0400

> From: Paolo Bonzini [mailto:address@hidden On Behalf Of Paolo Bonzini
> Il 28/07/2014 11:54, Pavel Dovgaluk ha scritto:
> >>> > > +        VMSTATE_TIMER_V(timer, RTL8139State, 5),
> >> >
> >> > timer need not be migrated, because it is reinstated by 
> >> > rtl8139_post_load.
> >> >
> >   That's true for normal execution.
> >   In replay execution mode post_load can be called before cached virtual 
> > clock
> > values are loaded. This may cause invalid setting of the timer and raising
> > an IRQ which didn't happen in record mode.
> >   I will update this patch to fix post_load function and avoid this
> > non-deterministic behavior.
> 
> This is what worries me of this series.  These invariants are not
> documented anywhere, and people will break them unless you add
> assertions that also hold in normal mode.

Assertions is a good idea, we added such warning message to qemu_get_timedate 
function
to be sure, that it is used correctly with replay.

Another thing, that could help for making snapshots - find a way to load replay 
structures
before all other ones. Are there any priorities in migration states list?
Priorities could also solve some other issues, because sometimes post_load 
function
of one device uses other devices' functions. And the second ones could be not 
loaded yet.

Pavel Dovgalyuk




reply via email to

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