From: Wei Yang <richardw.yang@linux.intel.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, Wei Yang <richardw.yang@linux.intel.com>,
dgilbert@redhat.com, quintela@redhat.com
Subject: [Qemu-devel] [PATCH 1/3] migration/postcopy: not necessary to do discard when canonicalizing bitmap
Date: Mon, 19 Aug 2019 14:18:41 +0800 [thread overview]
Message-ID: <20190819061843.28642-2-richardw.yang@linux.intel.com> (raw)
In-Reply-To: <20190819061843.28642-1-richardw.yang@linux.intel.com>
All pages, either partially sent or partially dirty, will be discarded in
postcopy_send_discard_bm_ram(), since we update the unsentmap to be
unsentmap = unsentmap | dirty in ram_postcopy_send_discard_bitmap().
This is not necessary to do discard when canonicalizing bitmap. And by
doing so, we separate the page discard into two individual steps:
* canonicalize bitmap
* discard page
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
---
migration/ram.c | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/migration/ram.c b/migration/ram.c
index 35552c090b..075ddc468c 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2928,7 +2928,7 @@ static int postcopy_each_ram_send_discard(MigrationState *ms)
}
/**
- * postcopy_chunk_hostpages_pass: canocalize bitmap in hostpages
+ * postcopy_chunk_hostpages_pass: canonicalize bitmap in hostpages
*
* Helper for postcopy_chunk_hostpages; it's called twice to
* canonicalize the two bitmaps, that are similar, but one is
@@ -2991,18 +2991,6 @@ static void postcopy_chunk_hostpages_pass(MigrationState *ms, bool unsent_pass,
host_ratio);
run_start = QEMU_ALIGN_UP(run_start, host_ratio);
- /* Tell the destination to discard this page */
- if (unsent_pass || !test_bit(fixup_start_addr, unsentmap)) {
- /* For the unsent_pass we:
- * discard partially sent pages
- * For the !unsent_pass (dirty) we:
- * discard partially dirty pages that were sent
- * (any partially sent pages were already discarded
- * by the previous unsent_pass)
- */
- postcopy_discard_send_range(ms, fixup_start_addr, host_ratio);
- }
-
/* Clean up the bitmap */
for (page = fixup_start_addr;
page < fixup_start_addr + host_ratio; page++) {
--
2.17.1
next prev parent reply other threads:[~2019-08-19 6:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-19 6:18 [Qemu-devel] [PATCH 0/3] migration/postcopy: unsentmap is not necessary Wei Yang
2019-08-19 6:18 ` Wei Yang [this message]
2019-09-24 10:02 ` [PATCH 1/3] migration/postcopy: not necessary to do discard when canonicalizing bitmap Dr. David Alan Gilbert
2019-09-25 0:25 ` Wei Yang
2019-08-19 6:18 ` [Qemu-devel] [PATCH 2/3] migration/postcopy: unsentmap is not necessary for postcopy Wei Yang
2019-09-24 10:18 ` Dr. David Alan Gilbert
2019-08-19 6:18 ` [Qemu-devel] [PATCH 3/3] migration: remove sent parameter in get_queued_page_not_dirty Wei Yang
2019-09-24 10:19 ` Dr. David Alan Gilbert
2019-09-16 6:06 ` [Qemu-devel] [PATCH 0/3] migration/postcopy: unsentmap is not necessary Wei Yang
2019-09-20 18:53 ` Dr. David Alan Gilbert
2019-09-23 5:56 ` Wei Yang
2019-09-25 9:52 ` [Qemu-devel] " Dr. David Alan Gilbert
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=20190819061843.28642-2-richardw.yang@linux.intel.com \
--to=richardw.yang@linux.intel.com \
--cc=dgilbert@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.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 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.