From: Juan Quintela <quintela@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Juan Quintela" <quintela@redhat.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
"Leonardo Bras Soares Passos" <lsoaresp@redhat.com>
Subject: [PATCH 00/11] migration: Make multifd use only one write on the send path
Date: Fri, 19 Nov 2021 17:58:52 +0100 [thread overview]
Message-ID: <20211119165903.18813-1-quintela@redhat.com> (raw)
Hi
Right now, multifd does a write() for the header and a writev() for
each group of pages. Simplify it so we send the header as another
member of the IOV.
Once there, I got several simplifications:
* is_zero_range() was used only once, just use its body.
* same with is_zero_page().
* Be consintent and use offset insed the ramblock everywhere.
* Now that we have the offsets of the ramblock, we can drop the iov.
* Now that nothing uses iov's except NOCOMP method, move the iovs
from pages to methods.
* Now we can use iov's with a single field for zlib/zstd.
* send_write() method is the same in all the implementaitons, so use
it directly.
* Now, we can use a single writev() to write everything.
ToDo: Move zero page detection to the multifd thrteads.
With RAM in the Terabytes size, the detection of the zero page takes
too much time on the main thread.
Last patch on the series removes the detection of zero pages in the
main thread for multifd. In the next series post, I will add how to
detect the zero pages and send them on multifd channels.
Please review.
Later, Juan.
Juan Quintela (11):
migration: Remove is_zero_range()
dump: Remove is_zero_page()
multifd: Fill offset and block for reception
multifd: Make zstd compression method not use iovs
multifd: Make zlib compression method not use iovs
migration: Move iov from pages to params
multifd: Make zlib use iov's
multifd: Make zstd use iov's
multifd: Remove send_write() method
multifd: Use a single writev on the send side
migration: Use multifd before we check for the zero page
migration/multifd.h | 10 ++++---
dump/dump.c | 10 +------
migration/multifd-zlib.c | 40 ++++++++------------------
migration/multifd-zstd.c | 41 ++++++++------------------
migration/multifd.c | 62 ++++++++++++++++++----------------------
migration/ram.c | 31 +++++++++-----------
6 files changed, 72 insertions(+), 122 deletions(-)
--
2.33.1
next reply other threads:[~2021-11-19 17:02 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-19 16:58 Juan Quintela [this message]
2021-11-19 16:58 ` [PATCH 01/11] migration: Remove is_zero_range() Juan Quintela
2021-11-20 12:24 ` Richard Henderson
2021-11-19 16:58 ` [PATCH 02/11] dump: Remove is_zero_page() Juan Quintela
2021-11-20 12:25 ` Richard Henderson
2021-11-21 19:30 ` Marc-André Lureau
2021-11-19 16:58 ` [PATCH 03/11] multifd: Fill offset and block for reception Juan Quintela
2021-11-20 12:26 ` Richard Henderson
2021-11-22 9:26 ` Juan Quintela
2021-11-19 16:58 ` [PATCH 04/11] multifd: Make zstd compression method not use iovs Juan Quintela
2021-11-19 16:58 ` [PATCH 05/11] multifd: Make zlib " Juan Quintela
2021-11-19 16:58 ` [PATCH 06/11] migration: Move iov from pages to params Juan Quintela
2021-11-20 12:31 ` Richard Henderson
2021-11-22 9:31 ` Juan Quintela
2021-11-19 16:58 ` [PATCH 07/11] multifd: Make zlib use iov's Juan Quintela
2021-11-19 16:59 ` [PATCH 08/11] multifd: Make zstd " Juan Quintela
2021-11-19 16:59 ` [PATCH 09/11] multifd: Remove send_write() method 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=20211119165903.18813-1-quintela@redhat.com \
--to=quintela@redhat.com \
--cc=dgilbert@redhat.com \
--cc=lsoaresp@redhat.com \
--cc=marcandre.lureau@redhat.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).