OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [virtio-dev] Packed ring only devices clarification



On 2021/1/29 äå5:14, Maxime Coquelin wrote:

On 1/29/21 10:04 AM, Jason Wang wrote:
On 2021/1/29 äå4:38, Maxime Coquelin wrote:
Hello,

In the Virtqueues section of the Virtio specification [0], it is
mentioned that:

"
Every driver and device supports either the Packed or the Split
Virtqueue format, or both.
"

However, it seems there is no way to differentiate whether the device
supports both split and packed ring, or only packed ring by reading
its features bits.

In the case of live-migration, it means we would need to trigger a
features negotiation before the migration is initiated, and see if
FEATURES_OK device status bit is set. Still, we could not be sure a
failure would be due to the device supporting only packed ring.

Is my understanding correct?

Yes, I think so.


If so, maybe we would need to introduce a new feature bit for split
ring, and also a feature bit indicating compliance with the new spec
version for backward compatibility:

VIRTIO_F_VERSION_1_2(39):
 ÂÂÂÂ This indicates compliance with Virtio version 1.2 specification.

VIRTIO_F_RING_SPLIT(40):
 ÂÂÂÂ This feature indicates support for the split virtqueue layout as
 ÂÂÂÂ described in 2.6 Split Virtqueues.

A question here, do we want to fix this issues with old driver (when
both of the above are not negotiated)?
Could you elaborate please? I am not sure to understand your question.


I meant it looks to me we can't avoid the feature pre-negotiation, if we migrate to an elder qemu?



For existing devices only supporting packed ring (if it exists, I don't
know any for now),


Spec doesn't forbid that so I guess there would be some hardware implementation will do packed only.


  maybe their drivers could have a quirk adding above
features.


It won't be easy consider there will be a software updating in the guest.


  If we do that, we may want to rename VIRTIO_F_VERSION_1_2 with
something else to restrict it to rings layout support.


This looks like a common issue which is not packed specific, it might happen when destination mandate some features but src doesn't (e.g VIRTIO_F_ACCESS_PLATFORM).

Maybe it's the time to introduce an API in the spec to know the features that is forced by the device.

Thanks



Thanks,
Maxime

Thanks



Best regards,
Maxime

[0]:
https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01.html#x1-230005



---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]