All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Wang <wei.w.wang@intel.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	mst@redhat.com, quintela@redhat.com, peterx@redhat.com,
	pbonzini@redhat.com, liliang.opensource@gmail.com,
	nilal@redhat.com, riel@redhat.com
Subject: Re: [Qemu-devel] [PATCH v11 7/7] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT
Date: Wed, 06 Mar 2019 10:04:54 +0800	[thread overview]
Message-ID: <5C7F2AC6.4080602@intel.com> (raw)
In-Reply-To: <20190305145034.GF9811@work-vm>

On 03/05/2019 10:50 PM, Dr. David Alan Gilbert wrote:
> * Wei Wang (wei.w.wang@intel.com) wrote:
>> The new feature enables the virtio-balloon device to receive hints of
>> guest free pages from the free page vq.
>>
>> A notifier is registered to the migration precopy notifier chain. The
>> notifier calls free_page_start after the migration thread syncs the dirty
>> bitmap, so that the free page optimization starts to clear bits of free
>> pages from the bitmap. It calls the free_page_stop before the migration
>> thread syncs the bitmap, which is the end of the current round of ram
>> save. The free_page_stop is also called to stop the optimization in the
>> case when there is an error occurred in the process of ram saving.
>>
>> Note: balloon will report pages which were free at the time of this call.
>> As the reporting happens asynchronously, dirty bit logging must be
>> enabled before this free_page_start call is made. Guest reporting must be
>> disabled before the migration dirty bitmap is synchronized.
>>
>> Signed-off-by: Wei Wang <wei.w.wang@intel.com>
>> CC: Michael S. Tsirkin <mst@redhat.com>
>> CC: Dr. David Alan Gilbert <dgilbert@redhat.com>
>> CC: Juan Quintela <quintela@redhat.com>
>> CC: Peter Xu <peterx@redhat.com>
>> ---
>>   hw/virtio/virtio-balloon.c                      | 263 ++++++++++++++++++++++++
>>   include/hw/virtio/virtio-balloon.h              |  28 ++-
>>   include/standard-headers/linux/virtio_balloon.h |   5 +
>>   3 files changed, 295 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
>> +    if (dev->free_page_report_status == FREE_PAGE_REPORT_S_REQUESTED) {
>> +        config.free_page_report_cmd_id =
>> +                       cpu_to_le32(dev->free_page_report_cmd_id);
>> +    } else if (dev->free_page_report_status == FREE_PAGE_REPORT_S_STOP) {
>> +        config.free_page_report_cmd_id =
>> +                       cpu_to_le32(VIRTIO_BALLOON_FREE_PAGE_REPORT_STOP_ID);
>> +    } else if (dev->free_page_report_status == FREE_PAGE_REPORT_S_DONE) {
>> +        config.free_page_report_cmd_id =
>> +                       cpu_to_le32(VIRTIO_BALLOON_FREE_PAGE_REPORT_DONE_ID);
>> +    }
> It looks like somewhere in the last 3 months the name in the kernel
> changed; so I think I've fixed this correctly but please shout if it's
> wrong:
>
>      if (dev->free_page_report_status == FREE_PAGE_REPORT_S_REQUESTED) {
>          config.free_page_report_cmd_id =
>                         cpu_to_le32(dev->free_page_report_cmd_id);
>      } else if (dev->free_page_report_status == FREE_PAGE_REPORT_S_STOP) {
>          config.free_page_report_cmd_id =
>                         cpu_to_le32(VIRTIO_BALLOON_CMD_ID_STOP);
>      } else if (dev->free_page_report_status == FREE_PAGE_REPORT_S_DONE) {
>          config.free_page_report_cmd_id =
>                         cpu_to_le32(VIRTIO_BALLOON_CMD_ID_DONE);
>      }
>
> and I've dropped the kernel header update since it's already there.
>

Looks good. Thanks for the update.

Best,
Wei

WARNING: multiple messages have this Message-ID (diff)
From: Wei Wang <wei.w.wang@intel.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	mst@redhat.com, quintela@redhat.com, peterx@redhat.com,
	pbonzini@redhat.com, liliang.opensource@gmail.com,
	nilal@redhat.com, riel@redhat.com
Subject: [virtio-dev] Re: [Qemu-devel] [PATCH v11 7/7] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT
Date: Wed, 06 Mar 2019 10:04:54 +0800	[thread overview]
Message-ID: <5C7F2AC6.4080602@intel.com> (raw)
In-Reply-To: <20190305145034.GF9811@work-vm>

On 03/05/2019 10:50 PM, Dr. David Alan Gilbert wrote:
> * Wei Wang (wei.w.wang@intel.com) wrote:
>> The new feature enables the virtio-balloon device to receive hints of
>> guest free pages from the free page vq.
>>
>> A notifier is registered to the migration precopy notifier chain. The
>> notifier calls free_page_start after the migration thread syncs the dirty
>> bitmap, so that the free page optimization starts to clear bits of free
>> pages from the bitmap. It calls the free_page_stop before the migration
>> thread syncs the bitmap, which is the end of the current round of ram
>> save. The free_page_stop is also called to stop the optimization in the
>> case when there is an error occurred in the process of ram saving.
>>
>> Note: balloon will report pages which were free at the time of this call.
>> As the reporting happens asynchronously, dirty bit logging must be
>> enabled before this free_page_start call is made. Guest reporting must be
>> disabled before the migration dirty bitmap is synchronized.
>>
>> Signed-off-by: Wei Wang <wei.w.wang@intel.com>
>> CC: Michael S. Tsirkin <mst@redhat.com>
>> CC: Dr. David Alan Gilbert <dgilbert@redhat.com>
>> CC: Juan Quintela <quintela@redhat.com>
>> CC: Peter Xu <peterx@redhat.com>
>> ---
>>   hw/virtio/virtio-balloon.c                      | 263 ++++++++++++++++++++++++
>>   include/hw/virtio/virtio-balloon.h              |  28 ++-
>>   include/standard-headers/linux/virtio_balloon.h |   5 +
>>   3 files changed, 295 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
>> +    if (dev->free_page_report_status == FREE_PAGE_REPORT_S_REQUESTED) {
>> +        config.free_page_report_cmd_id =
>> +                       cpu_to_le32(dev->free_page_report_cmd_id);
>> +    } else if (dev->free_page_report_status == FREE_PAGE_REPORT_S_STOP) {
>> +        config.free_page_report_cmd_id =
>> +                       cpu_to_le32(VIRTIO_BALLOON_FREE_PAGE_REPORT_STOP_ID);
>> +    } else if (dev->free_page_report_status == FREE_PAGE_REPORT_S_DONE) {
>> +        config.free_page_report_cmd_id =
>> +                       cpu_to_le32(VIRTIO_BALLOON_FREE_PAGE_REPORT_DONE_ID);
>> +    }
> It looks like somewhere in the last 3 months the name in the kernel
> changed; so I think I've fixed this correctly but please shout if it's
> wrong:
>
>      if (dev->free_page_report_status == FREE_PAGE_REPORT_S_REQUESTED) {
>          config.free_page_report_cmd_id =
>                         cpu_to_le32(dev->free_page_report_cmd_id);
>      } else if (dev->free_page_report_status == FREE_PAGE_REPORT_S_STOP) {
>          config.free_page_report_cmd_id =
>                         cpu_to_le32(VIRTIO_BALLOON_CMD_ID_STOP);
>      } else if (dev->free_page_report_status == FREE_PAGE_REPORT_S_DONE) {
>          config.free_page_report_cmd_id =
>                         cpu_to_le32(VIRTIO_BALLOON_CMD_ID_DONE);
>      }
>
> and I've dropped the kernel header update since it's already there.
>

Looks good. Thanks for the update.

Best,
Wei

---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  reply	other threads:[~2019-03-06  2:00 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-11  8:24 [Qemu-devel] [PATCH v11 0/7] virtio-balloon: free page hint support Wei Wang
2018-12-11  8:24 ` [virtio-dev] " Wei Wang
2018-12-11  8:24 ` [Qemu-devel] [PATCH v11 1/7] bitmap: fix bitmap_count_one Wei Wang
2018-12-11  8:24   ` [virtio-dev] " Wei Wang
2018-12-13 14:28   ` [Qemu-devel] " Dr. David Alan Gilbert
2018-12-14  6:37     ` Wei Wang
2018-12-14  6:37       ` [virtio-dev] " Wei Wang
2018-12-11  8:24 ` [Qemu-devel] [PATCH v11 2/7] bitmap: bitmap_count_one_with_offset Wei Wang
2018-12-11  8:24   ` [virtio-dev] " Wei Wang
2018-12-11  8:24 ` [Qemu-devel] [PATCH v11 3/7] migration: use bitmap_mutex in migration_bitmap_clear_dirty Wei Wang
2018-12-11  8:24   ` [virtio-dev] " Wei Wang
2018-12-11  8:24 ` [Qemu-devel] [PATCH v11 4/7] migration: API to clear bits of guest free pages from the dirty bitmap Wei Wang
2018-12-11  8:24   ` [virtio-dev] " Wei Wang
2018-12-11  8:24 ` [Qemu-devel] [PATCH v11 5/7] migration/ram.c: add a notifier chain for precopy Wei Wang
2018-12-11  8:24   ` [virtio-dev] " Wei Wang
2018-12-11  8:24 ` [Qemu-devel] [PATCH v11 6/7] migration/ram.c: add the free page optimization enable flag Wei Wang
2018-12-11  8:24   ` [virtio-dev] " Wei Wang
2018-12-11  8:24 ` [Qemu-devel] [PATCH v11 7/7] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT Wei Wang
2018-12-11  8:24   ` [virtio-dev] " Wei Wang
2018-12-13 15:45   ` [Qemu-devel] " Dr. David Alan Gilbert
2018-12-14  6:39     ` Wei Wang
2018-12-14  9:56       ` Dr. David Alan Gilbert
2018-12-14 10:30         ` Wei Wang
2018-12-14 11:17           ` Dr. David Alan Gilbert
2019-02-19  9:18             ` Wang, Wei W
2019-02-20 13:12               ` Dr. David Alan Gilbert
2019-02-21  1:49                 ` Wei Wang
2019-02-21 10:18                   ` Dr. David Alan Gilbert
2019-02-22  1:11                     ` Wei Wang
2019-03-05 14:50   ` Dr. David Alan Gilbert
2019-03-05 14:50     ` [virtio-dev] " Dr. David Alan Gilbert
2019-03-06  2:04     ` Wei Wang [this message]
2019-03-06  2:04       ` Wei Wang
2018-12-14 21:03 ` [Qemu-devel] [PATCH v11 0/7] virtio-balloon: free page hint support Michael S. Tsirkin
2018-12-14 21:03   ` [virtio-dev] " Michael S. Tsirkin

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=5C7F2AC6.4080602@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=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=riel@redhat.com \
    --cc=virtio-dev@lists.oasis-open.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.