From: Peter Xu <peterx@redhat.com>
To: qemu-devel@nongnu.org
Cc: peterx@redhat.com, Fabiano Rosas <farosas@suse.de>,
Joao Martins <joao.m.martins@oracle.com>,
Juan Quintela <quintela@redhat.com>
Subject: [PATCH v2 0/5] migration: Downtime tracepoints
Date: Mon, 30 Oct 2023 12:33:41 -0400 [thread overview]
Message-ID: <20231030163346.765724-1-peterx@redhat.com> (raw)
v2:
- Added two more patches (patch 4&5) to add the checkpoints too, it means
it merges Joao's series into tracepoints, and extend that to dest QEMU.
- Patch 5: Prefixed checkpoints with "src-" and "dst-"
This small series wants to improve ability of QEMU downtime analysis
similarly to what Joao used to propose here:
https://lore.kernel.org/r/20230926161841.98464-1-joao.m.martins@oracle.com
But with a few enhancements:
- Nothing exported yet to qapi, all tracepoints so far
- Besides major checkpoints, finer granule by providing downtime
measurements for each vmstate (I made microsecond to be the unit to be
accurate) alongside.
- Trace dest QEMU too for either the checkpoints or vmsd load()s
For the last bullet: consider the case where a device save() can be super
fast, while load() can actually be super slow. Both of them will
contribute to the ultimate downtime, but not a simple addition: when src
QEMU is save()ing on device1, dst QEMU can logically be load()ing on
device2. So they can run in parallel. However the only way to figure all
components of the downtime is to record both.
Please have a look, thanks.
Peter Xu (5):
migration: Set downtime_start even for postcopy
migration: Add migration_downtime_start|end() helpers
migration: Add per vmstate downtime tracepoints
migration: migration_stop_vm() helper
migration: Add tracepoints for downtime checkpoints
migration/migration.h | 2 ++
migration/migration.c | 63 +++++++++++++++++++++++++++++++-----------
migration/savevm.c | 63 ++++++++++++++++++++++++++++++++++++------
migration/trace-events | 4 ++-
4 files changed, 106 insertions(+), 26 deletions(-)
--
2.41.0
next reply other threads:[~2023-10-30 16:34 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-30 16:33 Peter Xu [this message]
2023-10-30 16:33 ` [PATCH v2 1/5] migration: Set downtime_start even for postcopy Peter Xu
2023-10-31 11:38 ` Juan Quintela
2023-10-30 16:33 ` [PATCH v2 2/5] migration: Add migration_downtime_start|end() helpers Peter Xu
2023-10-31 11:39 ` Juan Quintela
2023-10-30 16:33 ` [PATCH v2 3/5] migration: Add per vmstate downtime tracepoints Peter Xu
2023-10-31 12:52 ` Juan Quintela
2023-10-30 16:33 ` [PATCH v2 4/5] migration: migration_stop_vm() helper Peter Xu
2023-10-31 12:53 ` Juan Quintela
2023-10-30 16:33 ` [PATCH v2 5/5] migration: Add tracepoints for downtime checkpoints Peter Xu
2023-10-31 12:54 ` 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=20231030163346.765724-1-peterx@redhat.com \
--to=peterx@redhat.com \
--cc=farosas@suse.de \
--cc=joao.m.martins@oracle.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 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).