[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-comment] Re: [PATCH 0/2] Selective queue enabling
On 6/14/2023 5:54 AM, Parav Pandit wrote:
I think queue_reset just resets the queue and its fields including the queue_enable. DRIVER_OK is not a must for performing a queue_reset,From: Michael S. Tsirkin <mst@redhat.com> Sent: Tuesday, June 13, 2023 5:48 PMWhy queue_reset is needed here? I don't see spec saying that queue_enable must be done only once for a givenQ before DRIVER_OK. I see you found it.- program another queue address, size Finally we are decided, let's start operating: - DRIVER_OK I don't see how it's possible with just queue_enable.It is not explicitly mentioned in the spec that one can setup the queue usingqueue reset instead of queue enable.As Jason mentioned it is implementation specific, one device supports it andone doesn't.Hence, it will break on those devices which doesnt support it.Setup? No, and spec explicitly says to setup one has to use queue_enable. But this is not what we discussed with Stefano here.The above sequence you described is not well documented.It's the standard sequence for queue reset, is it not? For example: Virtqueue reset is divided into two parts. The driver first resets a queue and can afterwards optionally re-enable it. it seems clear that queue has to be enabled before being reset.Yes, it is clear.I'm not sure what's broken.If a device has assumed that queue_reset must be done after DRIVER_OK stage because until that point the device is not "live", Such device needs the fix.
My understanding is:- before DRIVER_OK, the driver can re-config the queue anytime, doesn't need a reset_queue - after DRIVER_OK, the driver has to reset the queue to re-config the queue. Because a queue is considered alive when both DRIVER_OK && queue_enable,
and resetting a queue also set queue_enable to zero.At the end of the migration, hypervisor should reset the queues and config the queues with the guest configurations and enable the queues, right?
Thanks
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]