From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: liang.z.li@intel.com
Subject: [Qemu-devel] [PATCH 0/6] migration: differentiate between pages and bytes
Date: Thu, 12 Feb 2015 23:03:05 +0100 [thread overview]
Message-ID: <1423778591-12590-1-git-send-email-quintela@redhat.com> (raw)
Hi
(Li special edition)
Current migration code returns number of bytes transferred and from
there we decide if we.have sent something or not. Problem, we need
two results: number of pages written, and number of bytes written
(depending on compression, zero pages, etc, it is not possible to
derive one value from the other).
So, I changed all relevant function to return the number of written
pages, and then pass as uint64_t *bytes_transferred to update the
written bytes.
On current code, makes things a bit easier to understand, but is not
strictely necesary. But for the compression patches from Li, it makes
a big difference, we can return that we have written a page, even if
we have just started the write, but having writtten in reality zero
bytes.
Once there, I add doxygen documentation to all function that I touched
(yes, I was long due).
save_block_hdr really saved headers for pages, not blocks. Rename it,
and simplify the interface.
Li, does this make your life easier? I hope so. Should make really
easy to remove the one_bytes_sent "hack", and allow my other suggestions.
Comments?
Later, Juan.
PD. Code is obviously correct, but I run it through virt-test
anyways. And it failed :-( In despair, I tried virt-test on HEAD,
and it also failed, so .... I add another thing to my ToDo list.
PD2. Modifying ram_save_page() has become complicated, very
complicated. I think that know a couple of simplications, but
require touching RDMA code, and anyways, fixing migration in
"master" looks like a higher priority.
Juan Quintela (6):
ram: make all save_page functions take a uint64_t parameter
ram_find_and_save_block: change calling convention
ram_save_page: change calling covention
save_xbzrle_page: change calling convention
save_block_hdr: we can recalculate the cont parameter here
rename save_block_hdr to save_page_header
arch_init.c | 176 ++++++++++++++++++++++++++----------------
include/migration/migration.h | 2 +-
include/migration/qemu-file.h | 2 +-
migration/qemu-file.c | 3 +-
migration/rdma.c | 2 +-
5 files changed, 114 insertions(+), 71 deletions(-)
--
2.1.0
next reply other threads:[~2015-02-12 22:03 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-12 22:03 Juan Quintela [this message]
2015-02-12 22:03 ` [Qemu-devel] [PATCH 1/6] ram: make all save_page functions take a uint64_t parameter Juan Quintela
2015-02-24 9:53 ` Amit Shah
2015-02-12 22:03 ` [Qemu-devel] [PATCH 2/6] ram_find_and_save_block: change calling convention Juan Quintela
2015-02-24 10:05 ` Amit Shah
2015-02-12 22:03 ` [Qemu-devel] [PATCH 3/6] ram_save_page: change calling covention Juan Quintela
2015-02-12 22:03 ` [Qemu-devel] [PATCH 4/6] save_xbzrle_page: change calling convention Juan Quintela
2015-02-24 10:37 ` Amit Shah
2015-03-12 15:48 ` Juan Quintela
2015-02-12 22:03 ` [Qemu-devel] [PATCH 5/6] save_block_hdr: we can recalculate the cont parameter here Juan Quintela
2015-02-26 4:49 ` Li, Liang Z
2015-03-12 15:36 ` Juan Quintela
2015-02-12 22:03 ` [Qemu-devel] [PATCH 6/6] rename save_block_hdr to save_page_header Juan Quintela
2015-02-24 12:48 ` Amit Shah
2015-02-26 4:53 ` Li, Liang Z
2015-03-12 15:44 ` Juan Quintela
2015-02-13 2:28 ` [Qemu-devel] [PATCH 0/6] migration: differentiate between pages and bytes Li, Liang Z
2015-02-17 14:23 ` Dr. David Alan Gilbert
2015-02-26 5:15 ` Li, Liang Z
2015-02-26 9:59 ` Dr. David Alan Gilbert
2015-02-26 7:05 ` Alex Bennée
2015-03-12 15:33 ` Juan Quintela
2015-03-09 2:02 ` Li, Liang Z
2015-03-12 15:33 ` Juan Quintela
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=1423778591-12590-1-git-send-email-quintela@redhat.com \
--to=quintela@redhat.com \
--cc=liang.z.li@intel.com \
--cc=qemu-devel@nongnu.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 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).