If we use DRIVER_OK status bit to send the RARP by the backend I am
afraid that some legacy guest are not supported.
Moreover the vhost user backend is not aware of the change of the
DRIVER_OK status bit. If this solution is chosen as event to send the
RARP a message between QEMU and vhost user backend must be added.
If there is a solution to avoid to add a message, i.e a IOCTL, to
vhost user backend it will be better (no kernel update).
Your solution with the kick on virtual queue seems OK in any case and
does not need the add of a message.
Except if there are a case where this solution does not work (today I
have not found a case) I will prefer to implement this solution.

On Mon, Jun 15, 2015 at 2:45 PM, Michael S. Tsirkin <m...@redhat.com> wrote:
> On Mon, Jun 15, 2015 at 02:12:40PM +0200, Thibaut Collet wrote:
>> After a resume operation the guest always kicks the backend for each
>> virtual queues.
>> A live migration does a suspend operation on the old host and a resume
>> operation on the new host. So the backend has a kick after migration.
>>
>> I have checked this point with a legacy guest (redhat 6-5 with kernel
>> version 2.6.32-431.29.2) and the kick occurs after migration or
>> resume.
>>
>> Jason have you an example of legacy guest that will not kick the
>> virtual queue after a resume ?
>
> In practice with sufficiently modern guests you can look
> at DRIVER_OK status bit. Process rings if that bit is set.
>
> --
> MST

Reply via email to