Message ID | 20221129040404.4151126-1-zhenzhong.duan@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | migration/dirtyrate: Show sample pages only in page-sampling mode | expand |
On Tue, Nov 29, 2022 at 12:04:04PM +0800, Zhenzhong Duan wrote: > The value of "Sample Pages" is confusing in mode other than page-sampling. > See below: > > (qemu) calc_dirty_rate -b 10 520 > (qemu) info dirty_rate > Status: measuring > Start Time: 11646834 (ms) > Sample Pages: 520 (per GB) > Period: 10 (sec) > Mode: dirty-bitmap > Dirty rate: (not ready) > > (qemu) info dirty_rate > Status: measured > Start Time: 11646834 (ms) > Sample Pages: 0 (per GB) > Period: 10 (sec) > Mode: dirty-bitmap > Dirty rate: 2 (MB/s) > > While it's totally useless in dirty-ring and dirty-bitmap mode, fix to > show it only in page-sampling mode. > > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Peter Xu <peterx@redhat.com>
Zhenzhong Duan <zhenzhong.duan@intel.com> wrote: > The value of "Sample Pages" is confusing in mode other than page-sampling. > See below: > > (qemu) calc_dirty_rate -b 10 520 > (qemu) info dirty_rate > Status: measuring > Start Time: 11646834 (ms) > Sample Pages: 520 (per GB) > Period: 10 (sec) > Mode: dirty-bitmap > Dirty rate: (not ready) > > (qemu) info dirty_rate > Status: measured > Start Time: 11646834 (ms) > Sample Pages: 0 (per GB) > Period: 10 (sec) > Mode: dirty-bitmap > Dirty rate: 2 (MB/s) > > While it's totally useless in dirty-ring and dirty-bitmap mode, fix to > show it only in page-sampling mode. > > Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> Reviewed-by: Juan Quintela <quintela@redhat.com> queued.
diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c index d6f1e01a7001..5041c2558c62 100644 --- a/migration/dirtyrate.c +++ b/migration/dirtyrate.c @@ -720,8 +720,8 @@ void qmp_calc_dirty_rate(int64_t calc_time, mode = DIRTY_RATE_MEASURE_MODE_PAGE_SAMPLING; } - if (has_sample_pages && mode == DIRTY_RATE_MEASURE_MODE_DIRTY_RING) { - error_setg(errp, "either sample-pages or dirty-ring can be specified."); + if (has_sample_pages && mode != DIRTY_RATE_MEASURE_MODE_PAGE_SAMPLING) { + error_setg(errp, "sample-pages is used only in page-sampling mode"); return; } @@ -791,8 +791,10 @@ void hmp_info_dirty_rate(Monitor *mon, const QDict *qdict) DirtyRateStatus_str(info->status)); monitor_printf(mon, "Start Time: %"PRIi64" (ms)\n", info->start_time); - monitor_printf(mon, "Sample Pages: %"PRIu64" (per GB)\n", - info->sample_pages); + if (info->mode == DIRTY_RATE_MEASURE_MODE_PAGE_SAMPLING) { + monitor_printf(mon, "Sample Pages: %"PRIu64" (per GB)\n", + info->sample_pages); + } monitor_printf(mon, "Period: %"PRIi64" (sec)\n", info->calc_time); monitor_printf(mon, "Mode: %s\n",
The value of "Sample Pages" is confusing in mode other than page-sampling. See below: (qemu) calc_dirty_rate -b 10 520 (qemu) info dirty_rate Status: measuring Start Time: 11646834 (ms) Sample Pages: 520 (per GB) Period: 10 (sec) Mode: dirty-bitmap Dirty rate: (not ready) (qemu) info dirty_rate Status: measured Start Time: 11646834 (ms) Sample Pages: 0 (per GB) Period: 10 (sec) Mode: dirty-bitmap Dirty rate: 2 (MB/s) While it's totally useless in dirty-ring and dirty-bitmap mode, fix to show it only in page-sampling mode. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com> --- migration/dirtyrate.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)