From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Wei Wang <wei.w.wang@intel.com>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
mst@redhat.com, quintela@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 v2 1/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT
Date: Fri, 9 Feb 2018 12:06:07 +0000 [thread overview]
Message-ID: <20180209120607.GC2428@work-vm> (raw)
In-Reply-To: <1517915299-15349-2-git-send-email-wei.w.wang@intel.com>
* Wei Wang (wei.w.wang@intel.com) wrote:
<snip>
> @@ -374,6 +459,7 @@ static uint64_t virtio_balloon_get_features(VirtIODevice *vdev, uint64_t f,
> VirtIOBalloon *dev = VIRTIO_BALLOON(vdev);
> f |= dev->host_features;
> virtio_add_feature(&f, VIRTIO_BALLOON_F_STATS_VQ);
> + virtio_add_feature(&f, VIRTIO_BALLOON_F_PAGE_POISON);
I agree with Michael that has to be tied to a compatibility flag
somewhere; otherwise we'd hit problems with migration to older QEMUs of
newer guests.
> diff --git a/migration/ram.c b/migration/ram.c
> index cb1950f..d6f462c 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -2186,6 +2186,16 @@ static int ram_init_all(RAMState **rsp)
> return 0;
> }
>
> +void skip_free_pages_from_dirty_bitmap(RAMBlock *block, ram_addr_t offset,
> + size_t len)
> +{
> + long start = offset >> TARGET_PAGE_BITS,
> + nr = len >> TARGET_PAGE_BITS;
> +
> + bitmap_clear(block->bmap, start, nr);
> + ram_state->migration_dirty_pages -= nr;
> +}
> +
I don't think this will work for postcopy; just not sending a page will
mean that the guest will block in userfault waiting for the page
(then it will request it but it wont be sent because the source already
thinks it's clean).
I think you're going to need to make the 'unused' pages be sent as zero
pages; probably by modifying save_zero_page to check a bitmap.
(I'm not sure how that will interact with hugepages)
Dave
> /*
> * Each of ram_save_setup, ram_save_iterate and ram_save_complete has
> * long-running RCU critical section. When rcu-reclaims in the code
> --
> 1.8.3.1
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2018-02-09 12:06 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-06 11:08 [Qemu-devel] [PATCH v2 0/3] virtio-balloon: free page hint reporting support Wei Wang
2018-02-06 11:08 ` [Qemu-devel] [PATCH v2 1/3] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT Wei Wang
2018-02-07 1:04 ` Michael S. Tsirkin
2018-03-02 9:32 ` Wei Wang
2018-02-09 12:06 ` Dr. David Alan Gilbert [this message]
2018-02-06 11:08 ` [Qemu-devel] [PATCH v2 2/3] migration: use the free page reporting feature from balloon Wei Wang
2018-02-06 23:57 ` Michael S. Tsirkin
2018-02-08 3:54 ` Wei Wang
2018-02-09 11:50 ` Dr. David Alan Gilbert
2018-02-26 5:07 ` Wei Wang
2018-02-26 9:22 ` Wang, Wei W
2018-02-06 11:08 ` [Qemu-devel] [PATCH v2 3/3] virtio-balloon: add a timer to limit the free page report waiting time Wei Wang
2018-02-06 23:43 ` Michael S. Tsirkin
2018-02-09 12:15 ` Dr. David Alan Gilbert
2018-02-26 4:35 ` Wei Wang
2018-02-27 0:50 ` Michael S. Tsirkin
2018-02-27 10:10 ` Wei Wang
2018-02-27 13:08 ` Liang Li
2018-02-28 10:33 ` Wei Wang
2018-02-27 10:34 ` Dr. David Alan Gilbert
2018-02-28 10:37 ` Wei Wang
2018-02-07 0:02 ` [Qemu-devel] [PATCH v2 0/3] virtio-balloon: free page hint reporting support Michael S. Tsirkin
2018-02-08 5:38 ` Wei Wang
2018-02-08 20:15 ` Dr. David Alan Gilbert
2018-02-09 3:10 ` Wei Wang
2018-02-09 10:53 ` Dr. David Alan Gilbert
2018-02-26 4:42 ` 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=20180209120607.GC2428@work-vm \
--to=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=wei.w.wang@intel.com \
--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).