From: <jiang.biao2@zte.com.cn>
To: <guangrong.xiao@gmail.com>
Cc: kvm@vger.kernel.org, mst@redhat.com, mtosatti@redhat.com,
xiaoguangrong@tencent.com, qemu-devel@nongnu.org,
pbonzini@redhat.com
Subject: Re: [PATCH 3/8] migration: support to detect compressionand decompression errors
Date: Mon, 19 Mar 2018 15:56:18 +0800 (CST) [thread overview]
Message-ID: <201803191556183250813@zte.com.cn> (raw)
In-Reply-To: <20180313075739.11194-4-xiaoguangrong@tencent.com>
Hi, guangrong
> @@ -1051,11 +1052,13 @@ static int do_compress_ram_page(QEMUFile *f, z_stream *stream, RAMBlock *block,
> {
> RAMState *rs = ram_state;
> int bytes_sent, blen;
> - uint8_t *p = block->host + (offset & TARGET_PAGE_MASK);
> + uint8_t buf[TARGET_PAGE_SIZE], *p;
> + p = block->host + (offset & TARGET_PAGE_MASK);
> bytes_sent = save_page_header(rs, f, block, offset |
> RAM_SAVE_FLAG_COMPRESS_PAGE);
> - blen = qemu_put_compression_data(f, stream, p, TARGET_PAGE_SIZE);
> + memcpy(buf, p, TARGET_PAGE_SIZE);
> + blen = qemu_put_compression_data(f, stream, buf, TARGET_PAGE_SIZE);
Memory copy operation for every page to be compressed is not cheap, especially
when the page number is huge, and it may be not necessary for pages never
updated during migration.
Is there any possibility that we can distinguish the real compress/decompress
errors from those being caused by source VM updating? Such as the return
value of qemu_uncompress(distinguish Z_DATA_ERROR and other error codes
returned by inflate())?
Jiang
Regards,
next prev parent reply other threads:[~2018-03-19 7:56 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-13 7:57 [PATCH 0/8] migration: improve and cleanup compression guangrong.xiao
2018-03-13 7:57 ` [PATCH 1/8] migration: stop compressing page in migration thread guangrong.xiao
2018-03-15 10:25 ` Dr. David Alan Gilbert
2018-03-16 8:05 ` Xiao Guangrong
2018-03-19 12:11 ` Dr. David Alan Gilbert
2018-03-21 8:19 ` Peter Xu
2018-03-22 11:38 ` Xiao Guangrong
2018-03-26 9:02 ` Peter Xu
2018-03-26 15:43 ` Xiao Guangrong
2018-03-27 7:33 ` Peter Xu
2018-03-27 19:12 ` Dr. David Alan Gilbert
2018-03-28 3:01 ` Wang, Wei W
2018-03-27 15:24 ` Xiao Guangrong
2018-03-28 7:30 ` Wei Wang
2018-03-28 7:37 ` Peter Xu
2018-03-28 8:30 ` Wei Wang
2018-03-13 7:57 ` [PATCH 2/8] migration: stop allocating and freeing memory frequently guangrong.xiao
2018-03-15 11:03 ` Dr. David Alan Gilbert
2018-03-16 8:19 ` Xiao Guangrong
2018-03-19 10:54 ` Dr. David Alan Gilbert
2018-03-19 12:11 ` Xiao Guangrong
2018-03-19 1:49 ` [PATCH 2/8] migration: stop allocating and freeingmemory frequently jiang.biao2
2018-03-19 4:03 ` Xiao Guangrong
2018-03-19 4:48 ` [PATCH 2/8] migration: stop allocating andfreeingmemory frequently jiang.biao2
2018-03-21 9:06 ` [PATCH 2/8] migration: stop allocating and freeing memory frequently Peter Xu
2018-03-22 11:57 ` Xiao Guangrong
2018-03-27 7:07 ` Peter Xu
2018-03-13 7:57 ` [PATCH 3/8] migration: support to detect compression and decompression errors guangrong.xiao
2018-03-15 11:29 ` Dr. David Alan Gilbert
2018-03-16 8:25 ` Xiao Guangrong
2018-03-19 7:56 ` jiang.biao2 [this message]
2018-03-19 8:01 ` [PATCH 3/8] migration: support to detect compressionand " Xiao Guangrong
2018-03-21 10:00 ` [PATCH 3/8] migration: support to detect compression and " Peter Xu
2018-03-22 12:03 ` Xiao Guangrong
2018-03-27 7:22 ` Peter Xu
2018-03-26 19:42 ` Xiao Guangrong
2018-03-27 11:17 ` Peter Xu
2018-03-27 1:20 ` Xiao Guangrong
2018-03-28 0:43 ` [PATCH 3/8] migration: support to detectcompression " jiang.biao2
2018-03-27 14:35 ` Xiao Guangrong
2018-03-28 3:03 ` Peter Xu
2018-03-28 4:08 ` [PATCH 3/8] migration: support todetectcompression " jiang.biao2
2018-03-28 4:20 ` Peter Xu
2018-03-27 18:44 ` Xiao Guangrong
2018-03-28 8:07 ` [PATCH 3/8] migration: support todetectcompressionand " jiang.biao2
2018-03-13 7:57 ` [PATCH 4/8] migration: introduce control_save_page() guangrong.xiao
2018-03-15 11:37 ` Dr. David Alan Gilbert
2018-03-16 8:52 ` Xiao Guangrong
2018-03-27 7:47 ` Peter Xu
2018-03-13 7:57 ` [PATCH 5/8] migration: move calling control_save_page to the common place guangrong.xiao
2018-03-15 11:47 ` Dr. David Alan Gilbert
2018-03-16 8:59 ` Xiao Guangrong
2018-03-19 13:15 ` Dr. David Alan Gilbert
2018-03-27 12:35 ` Peter Xu
2018-03-13 7:57 ` [PATCH 6/8] migration: move calling save_zero_page " guangrong.xiao
2018-03-15 12:27 ` Dr. David Alan Gilbert
2018-03-27 12:49 ` Peter Xu
2018-03-13 7:57 ` [PATCH 7/8] migration: introduce save_normal_page() guangrong.xiao
2018-03-15 12:30 ` Dr. David Alan Gilbert
2018-03-27 12:54 ` Peter Xu
2018-03-13 7:57 ` [PATCH 8/8] migration: remove ram_save_compressed_page() guangrong.xiao
2018-03-15 12:32 ` Dr. David Alan Gilbert
2018-03-27 12:56 ` Peter Xu
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=201803191556183250813@zte.com.cn \
--to=jiang.biao2@zte.com.cn \
--cc=guangrong.xiao@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=xiaoguangrong@tencent.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).