qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Migration compatibility for serial


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] Migration compatibility for serial
Date: Wed, 17 Jun 2015 14:20:30 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0


On 17/06/2015 13:58, Michael S. Tsirkin wrote:
> > No, it doesn't.  The guest misbehaves maybe, but the migration format is
> > not affected.
> 
> I just tried, set prog_if to different values, sure it failed.

How so?  It's just a byte in config space.  But even then, fixing
migration is just a side effect of keeping config space consistent for a
given machine type (i.e. not changing hardware type under the guest's feet).

> Here's another one, at random:
> 
> Author: Michael S. Tsirkin <address@hidden>
> Date:   Thu Feb 14 19:11:27 2013 +0200
> 
>     e1000: unbreak the guest network migration to 1.3
>     
>     QEMU 1.3 does not emulate the link auto negotiation, so if migrate to a
>     1.3 machine during link auto negotiation, the guest link will be set to 
> down.
>     Fix this by just disabling auto negotiation for 1.3 and older.
>     
>     Signed-off-by: Michael S. Tsirkin <address@hidden>

Okay, that's an interesting one, and there's a similar one for e1000
interrupt mitigation.

The interesting point is that in both cases the bug compatibility
extends to other behavior of the device, i.e. more than just migration.

I would even say that bug-compatibility of migration is just a side
effect, not the primary end.  For interrupt mitigation, it was not
enabled on older machine types in the first place, because it could
break guests.  Keeping backwards migration working was just a side
effect; simply, checking "s->compat_flags & E1000_FLAG_MIT" is the only
sensible way to write e1000_mit_state_needed.  Auto negotiation should
have been done the same way, which is what your patch did.

Paolo



reply via email to

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