[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 14/15] hw/block/virtio-blk: create num_queues vq
From: |
Ming Lei |
Subject: |
Re: [Qemu-devel] [PATCH 14/15] hw/block/virtio-blk: create num_queues vqs if dataplane is enabled |
Date: |
Fri, 1 Aug 2014 15:35:02 +0800 |
On Fri, Aug 1, 2014 at 2:10 PM, Paolo Bonzini <address@hidden> 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,