From: Wei Wang <wei.w.wang@intel.com>
To: quintela@redhat.com
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
mst@redhat.com, dgilbert@redhat.com, pbonzini@redhat.com,
liliang.opensource@gmail.com, yang.zhang.wz@gmail.com,
quan.xu0@gmail.com, nilal@redhat.com, riel@redhat.com
Subject: Re: [Qemu-devel] [PATCH v1 1/4] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ
Date: Fri, 19 Jan 2018 11:52:49 +0800 [thread overview]
Message-ID: <5A616B91.1020508@intel.com> (raw)
In-Reply-To: <871sio4qg2.fsf@secure.laptop>
On 01/17/2018 08:31 PM, Juan Quintela wrote:
> Wei Wang <wei.w.wang@intel.com> wrote:
>> The new feature enables the virtio-balloon device to receive the hint of
>> guest free pages from the free page vq, and clears the corresponding bits
>> of the free page from the dirty bitmap, so that those free pages are not
>> transferred by the migration thread.
>>
>> Without this feature, to local live migrate an 8G idle guest takes
>> ~2286 ms. With this featrue, it takes ~260 ms, which redues the
>> migration time to ~11%.
>>
>> Signed-off-by: Wei Wang <wei.w.wang@intel.com>
>> Signed-off-by: Liang Li <liang.z.li@intel.com>
>> CC: Michael S. Tsirkin <mst@redhat.com>
> I hate to answer twice,but ...
Thanks for the second review :)
>
>
>> +static bool virtio_balloon_free_page_support(void *opaque)
>> +{
>> + VirtIOBalloon *s = opaque;
>> +
>> + if (!balloon_free_page_supported(s)) {
>> + return false;
>> + }
>> +
>> + return true;
> return balloon_free_page_supported(s); ???
Forgot to clean this up. It is actually a duplicate of
balloon_free_page_supported() now, I'll remove one of them in the next
version.
>
>
>> @@ -312,6 +399,7 @@ static void virtio_balloon_get_config(VirtIODevice *vdev, uint8_t *config_data)
>>
>> config.num_pages = cpu_to_le32(dev->num_pages);
>> config.actual = cpu_to_le32(dev->actual);
>> + config.free_page_report_cmd_id = cpu_to_le32(dev->free_page_report_cmd_id);
>>
>> trace_virtio_balloon_get_config(config.num_pages, config.actual);
>> memcpy(config_data, &config, sizeof(struct virtio_balloon_config));
>> @@ -418,6 +506,7 @@ static const VMStateDescription vmstate_virtio_balloon_device = {
>> .fields = (VMStateField[]) {
>> VMSTATE_UINT32(num_pages, VirtIOBalloon),
>> VMSTATE_UINT32(actual, VirtIOBalloon),
>> + VMSTATE_UINT32(free_page_report_cmd_id, VirtIOBalloon),
>> VMSTATE_END_OF_LIST()
> No new version, no subsection, and we add a new field?
> I think that is wrong. We need to send that only for old versions.
> Look at how was handled for ....
>
> [PATCH v2] hpet: recover timer offset correctly
>
> v2 discussion explains why we want to handle that way for different
> machine types.
>
> v3 does it correctly.
OK, I'll put it to a subsection.
>
>
> And I think that with this I have reviewed all the migration/vmstate
> bits, no?
>
> If something is missing, please ask.
Thanks. This is the only new device state that need to be saved. Please
have a review of patch 2 as well, which makes the migration thread use
this feature.
Best,
Wei
next prev parent reply other threads:[~2018-01-19 3:50 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-17 6:31 [Qemu-devel] [PATCH v1 0/4] virtio-balloon: support free page reporting Wei Wang
2018-01-17 6:31 ` [Qemu-devel] [PATCH v1 1/4] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_VQ Wei Wang
2018-01-17 11:40 ` Juan Quintela
2018-01-17 15:52 ` Wang, Wei W
2018-01-17 12:31 ` Juan Quintela
2018-01-19 3:52 ` Wei Wang [this message]
2018-01-17 6:31 ` [Qemu-devel] [PATCH v1 2/4] migration: call balloon to clear bits of free pages from dirty bitmap Wei Wang
2018-01-17 6:31 ` [Qemu-devel] [PATCH v1 3/4] virtio-balloon: add a timer to limit the free page report wating time Wei Wang
2018-01-17 6:32 ` [Qemu-devel] [PATCH v1 4/4] virtio-balloon: Don't skip free pages if the poison val is non-zero Wei 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=5A616B91.1020508@intel.com \
--to=wei.w.wang@intel.com \
--cc=dgilbert@redhat.com \
--cc=liliang.opensource@gmail.com \
--cc=mst@redhat.com \
--cc=nilal@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quan.xu0@gmail.com \
--cc=quintela@redhat.com \
--cc=riel@redhat.com \
--cc=virtio-dev@lists.oasis-open.org \
--cc=yang.zhang.wz@gmail.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).