[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, MaximeThanksBest 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]