From: Jason Wang <jasowang@redhat.com>
To: Thibaut Collet <thibaut.collet@6wind.com>
Cc: qemu-devel <qemu-devel@nongnu.org>,
Stefan Hajnoczi <stefanha@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 2/2] vhost user: Add RARP injection for legacy guest
Date: Wed, 17 Jun 2015 12:16:09 +0800 [thread overview]
Message-ID: <5580F489.3090905@redhat.com> (raw)
In-Reply-To: <CABUUfwPkvTpOibLSwCnvfY_79cfM7pFmRKx=_Yvi+RZGL8XBdA@mail.gmail.com>
On 06/16/2015 04:16 PM, Thibaut Collet wrote:
> For a live migration my understanding is there are a suspend resume operation:
> - The VM image is regularly copied from the old host to the new one
> (modified pages due to VM operation can be copied several time)
> - As soon as there are only few pages to copy the VM is suspended on
> the old host, the last pages are copied, and the VM is resumed on the
> new host. Migration is not totally transparent to guest that has a
> small period of unavailability.
But guest is not involved in the any of the migration process. Unless
the performance drop, guest should not notice the migration at all.
Btw, please use bottom-posting which is easier for reader to understand
the context.
Thanks
>
>
> On Tue, Jun 16, 2015 at 10:05 AM, Jason Wang <jasowang@redhat.com> wrote:
>>
>> On 06/16/2015 03:24 PM, Thibaut Collet wrote:
>>> If my understanding is correct, on a resume operation, we have the
>>> following callback trace:
>>> 1. virtio_pci_restore function that calls all restore call back of
>>> virtio devices
>>> 2. virtnet_restore that calls try_fill_recv function for each virtual queues
>>> 3. try_fill_recv function kicks the virtual queue (through
>>> virtqueue_kick function)
>> Yes, but this happens only after pm resume not migration. Migration is
>> totally transparent to guest.
>>
>>>
>>> On Tue, Jun 16, 2015 at 7:29 AM, Jason Wang <jasowang@redhat.com> wrote:
>>>> On 06/15/2015 08:12 PM, 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 ?
>>>> I must miss something but migration should be transparent to guest.
>>>> Could you show me the code that guest does the kick after migration?
>>>>
>>>>> On Mon, Jun 15, 2015 at 10:44 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
>>>>>> On Mon, Jun 15, 2015 at 03:43:13PM +0800, Jason Wang wrote:
>>>>>>> On 06/12/2015 10:28 PM, Michael S. Tsirkin wrote:
>>>>>>>> On Fri, Jun 12, 2015 at 03:55:33PM +0800, Jason Wang wrote:
>>>>>>>>> On 06/11/2015 08:13 PM, Michael S. Tsirkin wrote:
>>>>>>>>>> On Thu, Jun 11, 2015 at 02:10:48PM +0200, Thibaut Collet wrote:
>>>>>>>>>>> I am not sure to understand your remark:
>>>>>>>>>>>
>>>>>>>>>>>> It needs to be sent when backend is activated by guest kick
>>>>>>>>>>>> (in case of virtio 1, it's possible to use DRIVER_OK for this).
>>>>>>>>>>>> This does not happen when VM still runs on source.
>>>>>>>>>>> Could you confirm rarp can be sent by backend when the
>>>>>>>>>>> VHOST_USER_SET_VRING_KICK message is received by the backend ?
>>>>>>>>>> No - the time to send pakets is when you start processing
>>>>>>>>>> the rings.
>>>>>>>>>>
>>>>>>>>>> And the time to do that is when you detect a kick on
>>>>>>>>>> an eventfd, not when said fd is set.
>>>>>>>>>>
>>>>>>>>> Probably not. What if guest is only doing receiving?
>>>>>>>> Clarification: the kick can be on any VQs.
>>>>>>>> In your example, guest kicks after adding receive buffers.
>>>>>>> Yes, but refill only happens on we are lacking of receive buffers. It is
>>>>>>> not guaranteed to happen just after migration, we may have still have
>>>>>>> enough rx buffers for device to receive.
>>>>>> I think we also kick the backend after migration, do we not?
>>>>>> Further, DRIVER_OK can be used as a signal to start backend too.
>>>>>>
>>>>>>>>> In this case, you
>>>>>>>>> won't detect any kick if you don't send the rarp first.
next prev parent reply other threads:[~2015-06-17 4:16 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-10 13:43 [Qemu-devel] [PATCH v3 0/2] Add live migration for vhost user Thibaut Collet
2015-06-10 13:43 ` [Qemu-devel] [PATCH v3 1/2] vhost user: add support of live migration Thibaut Collet
2015-06-10 13:52 ` Michael S. Tsirkin
2015-06-10 14:22 ` Thibaut Collet
2015-06-10 14:27 ` Michael S. Tsirkin
2015-06-10 15:24 ` Thibaut Collet
2015-06-10 15:34 ` Stefan Hajnoczi
2015-06-23 6:01 ` Michael S. Tsirkin
2015-06-10 13:43 ` [Qemu-devel] [PATCH v3 2/2] vhost user: Add RARP injection for legacy guest Thibaut Collet
2015-06-10 15:34 ` Michael S. Tsirkin
2015-06-10 15:48 ` Thibaut Collet
2015-06-10 16:00 ` Michael S. Tsirkin
2015-06-10 20:25 ` Thibaut Collet
2015-06-10 20:50 ` Michael S. Tsirkin
2015-06-11 5:34 ` Thibaut Collet
2015-06-11 5:39 ` Jason Wang
2015-06-11 5:49 ` Thibaut Collet
2015-06-11 5:54 ` Jason Wang
2015-06-11 10:38 ` Michael S. Tsirkin
2015-06-11 12:10 ` Thibaut Collet
2015-06-11 12:13 ` Michael S. Tsirkin
2015-06-11 12:33 ` Thibaut Collet
2015-06-12 7:55 ` Jason Wang
2015-06-12 11:53 ` Thibaut Collet
2015-06-12 14:28 ` Michael S. Tsirkin
2015-06-15 7:43 ` Jason Wang
2015-06-15 8:44 ` Michael S. Tsirkin
2015-06-15 12:12 ` Thibaut Collet
2015-06-15 12:45 ` Michael S. Tsirkin
2015-06-15 13:04 ` Thibaut Collet
2015-06-16 5:29 ` Jason Wang
2015-06-16 7:24 ` Thibaut Collet
2015-06-16 8:05 ` Jason Wang
2015-06-16 8:16 ` Thibaut Collet
2015-06-17 4:16 ` Jason Wang [this message]
2015-06-17 6:42 ` Michael S. Tsirkin
2015-06-17 7:05 ` Thibaut Collet
2015-06-18 15:16 ` Thibaut Collet
2015-06-23 2:12 ` Jason Wang
2015-06-23 5:49 ` Michael S. Tsirkin
2015-06-24 8:31 ` Jason Wang
2015-06-24 11:05 ` Michael S. Tsirkin
2015-06-25 9:59 ` Jason Wang
2015-06-25 11:01 ` Thibaut Collet
2015-06-25 12:53 ` Michael S. Tsirkin
2015-06-25 14:22 ` Thibaut Collet
2015-06-26 4:06 ` Jason Wang
2015-06-16 3:35 ` Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5580F489.3090905@redhat.com \
--to=jasowang@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=thibaut.collet@6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).