在 2021/7/19 下午8:18, Stefan Hajnoczi 写道:
On Fri, Jul 16, 2021 at 09:44:26AM +0800, Jason Wang wrote:
在 2021/7/15 下午5:16, Stefan Hajnoczi 写道:
On Thu, Jul 15, 2021 at 09:35:13AM +0800, Jason Wang wrote:
在 2021/7/14 下午11:07, Stefan Hajnoczi 写道:
On Wed, Jul 14, 2021 at 06:29:28PM +0800, Jason Wang wrote:
And as I've stated several times, virtqueue is the interface or transport
which carries the commands for implementing specific semantics. It doesn't
conflict with what is proposed in this patch.
The abstract operations for stopping the device and fetching virtqueue
state sound good to me, but I don't think a Device Status field STOP bit
should be added. An out-of-band stop operation would support devices
that take a long time to stop better.
So the long time request is not something that is introduced by the STOP
bit. Spec already use that for reset.
Reset doesn't affect migration downtime. The register polling approach
is problematic during migration downtime because it's difficult to stop
multiple devices and do other downtime cleanup concurrently.
This part I don't understand. We don't have an centralized control path that
is used for each virtual functions.
VMM is free to stop multiple devices and poll for all those device status?
Yes, it's possible to do that but I think it's harder for VMMs to
implement and consumes CPU (which competes with software devices that
are trying to stop).
Possibly, actually, there are two issues:
1) How to send the command to check the succeeding of the command
2) Whether or not we need a notification for the completion of the command
What is being proposed is 1), and 2) could be done via a transport
specific way. (But requires more thought).
Actually, it's the software that choose the best way for them, it can do
busy polling, timer etc.
Thanks
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]