On Fri, Aug 1, 2014 at 2:10 PM, Paolo Bonzini <pbonz...@redhat.com> wrote:
> Il 01/08/2014 05:09, Ming Lei ha scritto:
>>>> >> Per virtio spec, only the feature is set, the VM can be allowed to
>>>> >> access the 'num_queues' field, and I didn't see any problem from
>>>> >> VM's view point.
>>>> >>
>>>> >> So could you explain why both dataplane and non-dataplane have
>>>> >> to support the feature.
>>> >
>>> > Because otherwise you change the guest ABI.
>> Sorry, I don't understand why the guest ABI is changed since
>> VM only parses 'num_queues' iff the feature is set, and the DATAPLANE
>> macro is determined during compiling.
>
> Even recompiling the same version of QEMU should not change the guest
> ABI.  Recompilation may affect which devices are present, but then the
> migration destination will not even start if something is broken.
>
> And as you pointed out, migration from dataplane to non-dataplane will
> break because you didn't convert callers of virtqueue_pop/push.

OK, I will convert non-dataplane to support multi virtqueues in V1,
and the conversion is not difficult and straightforward.

BTW, docs/migration.txt mentions that "QEMU has to be launched
with the same arguments the two times", so can I understand that
migration from dataplane to non-dataplane shouldn't have been
allowed?

Thanks,

Reply via email to