On 02/23/2010 09:14 PM, Paul Brook wrote:
vnet_hdr is IMHO a really bad example to copy from.
vnet_hdr leaks into the migration state via n->has_vnet_hdr. What this
means is that if you want to migrate from -net tap -net nic,model=virtio
to -net user -net nic,model=virtio, it will fail.
This is a hard problem to solve in qemu though because it would require
that we implement software GSO which so far, no one has stepped up to do.
Or make virtio-net pass this on to the guest, and have that deal with the
problem. If you implement software GSO, then devices can assume it's always
present and don't need to probe.
That would make migration guest cooperative. This implies that the
guests become an important part of the test matrix with respect to
migration. The result is a combinatorial expansion of the test matrix.
There's a lot of value in having transparent migration. Maybe it makes
sense to have some sort of guest notification for the purposes of
optimization, but we should be very careful about that because the
practical cost is huge.
Regards,
Anthony Liguori
Paul