[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH QEMU v9 0/9] migration: introduce dirtylimit capability
From: |
~hyman |
Subject: |
[PATCH QEMU v9 0/9] migration: introduce dirtylimit capability |
Date: |
Thu, 20 Jul 2023 16:22:05 +0000 |
Markus, thank Markus for crafting the comments
please review the latest version.
Yong
v7~v9:
Rebase on master, fix conflicts and craft the docs suggested by Markus
v6:
1. Rebase on master
2. Split the commit "Implement dirty-limit convergence algo" into two as
Juan suggested as the following:
a. Put the detection logic before auto-converge checking
b. Implement dirty-limit convergence algo
3. Put the detection logic before auto-converge checking
4. Sort the migrate_dirty_limit function in commit
"Introduce dirty-limit capability" suggested by Juan
5. Substitute the the int64_t to uint64_t in the last 2 commits
6. Fix the comments spell mistake
7. Add helper function in the commit
"Implement dirty-limit convergence algo" suggested by Juan
v5:
1. Rebase on master and enrich the comment for "dirty-limit" capability,
suggesting by Markus.
2. Drop commits that have already been merged.
v4:
1. Polish the docs and update the release version suggested by Markus
2. Rename the migrate exported info "dirty-limit-throttle-time-per-
round"
to "dirty-limit-throttle-time-per-full".
v3(resend):
- fix the syntax error of the topic.
v3:
This version make some modifications inspired by Peter and Markus
as following:
1. Do the code clean up in [PATCH v2 02/11] suggested by Markus
2. Replace the [PATCH v2 03/11] with a much simpler patch posted by
Peter to fix the following bug:
https://bugzilla.redhat.com/show_bug.cgi?id=2124756
3. Fix the error path of migrate_params_check in [PATCH v2 04/11]
pointed out by Markus. Enrich the commit message to explain why
x-vcpu-dirty-limit-period an unstable parameter.
4. Refactor the dirty-limit convergence algo in [PATCH v2 07/11]
suggested by Peter:
a. apply blk_mig_bulk_active check before enable dirty-limit
b. drop the unhelpful check function before enable dirty-limit
c. change the migration_cancel logic, just cancel dirty-limit
only if dirty-limit capability turned on.
d. abstract a code clean commit [PATCH v3 07/10] to adjust
the check order before enable auto-converge
5. Change the name of observing indexes during dirty-limit live
migration to make them more easy-understanding. Use the
maximum throttle time of vpus as "dirty-limit-throttle-time-per-full"
6. Fix some grammatical and spelling errors pointed out by Markus
and enrich the document about the dirty-limit live migration
observing indexes "dirty-limit-ring-full-time"
and "dirty-limit-throttle-time-per-full"
7. Change the default value of x-vcpu-dirty-limit-period to 1000ms,
which is optimal value pointed out in cover letter in that
testing environment.
8. Drop the 2 guestperf test commits [PATCH v2 10/11],
[PATCH v2 11/11] and post them with a standalone series in the
future.
v2:
This version make a little bit modifications comparing with
version 1 as following:
1. fix the overflow issue reported by Peter Maydell
2. add parameter check for hmp "set_vcpu_dirty_limit" command
3. fix the racing issue between dirty ring reaper thread and
Qemu main thread.
4. add migrate parameter check for x-vcpu-dirty-limit-period
and vcpu-dirty-limit.
5. add the logic to forbid hmp/qmp commands set_vcpu_dirty_limit,
cancel_vcpu_dirty_limit during dirty-limit live migration when
implement dirty-limit convergence algo.
6. add capability check to ensure auto-converge and dirty-limit
are mutually exclusive.
7. pre-check if kvm dirty ring size is configured before setting
dirty-limit migrate parameter
Hyman Huang(黄勇) (9):
softmmu/dirtylimit: Add parameter check for hmp "set_vcpu_dirty_limit"
qapi/migration: Introduce x-vcpu-dirty-limit-period parameter
qapi/migration: Introduce vcpu-dirty-limit parameters
migration: Introduce dirty-limit capability
migration: Refactor auto-converge capability logic
migration: Put the detection logic before auto-converge checking
migration: Implement dirty-limit convergence algorithm
migration: Extend query-migrate to provide dirty-limit info
tests: Add migration dirty-limit capability test
include/sysemu/dirtylimit.h | 2 +
migration/migration-hmp-cmds.c | 26 ++++++
migration/migration.c | 13 +++
migration/options.c | 73 ++++++++++++++++
migration/options.h | 1 +
migration/ram.c | 61 ++++++++++---
migration/trace-events | 1 +
qapi/migration.json | 72 +++++++++++++--
softmmu/dirtylimit.c | 91 +++++++++++++++++--
tests/qtest/migration-test.c | 155 +++++++++++++++++++++++++++++++++
10 files changed, 470 insertions(+), 25 deletions(-)
--
2.38.5
- [PATCH QEMU v9 0/9] migration: introduce dirtylimit capability,
~hyman <=
- [PATCH QEMU v9 1/9] softmmu/dirtylimit: Add parameter check for hmp "set_vcpu_dirty_limit", ~hyman, 2023/07/20
- [PATCH QEMU v9 7/9] migration: Implement dirty-limit convergence algorithm, ~hyman, 2023/07/20
- [PATCH QEMU v9 4/9] migration: Introduce dirty-limit capability, ~hyman, 2023/07/20
- [PATCH QEMU v9 3/9] qapi/migration: Introduce vcpu-dirty-limit parameters, ~hyman, 2023/07/20
- [PATCH QEMU v9 9/9] tests: Add migration dirty-limit capability test, ~hyman, 2023/07/20
- [PATCH QEMU v9 5/9] migration: Refactor auto-converge capability logic, ~hyman, 2023/07/20
- [PATCH QEMU v9 6/9] migration: Put the detection logic before auto-converge checking, ~hyman, 2023/07/20
- [PATCH QEMU v9 2/9] qapi/migration: Introduce x-vcpu-dirty-limit-period parameter, ~hyman, 2023/07/20