system: improve migration debug
Right now migration_throttle() tracepoint lacks very important important information, i.e. no one could easily say how much the guest is throttled. This makes difficult to debug guest quality of service during migration. This patch adds one more tracepoint into cpu_throttle_set() which is actually doing this job. Signed-off-by: Denis V. Lunev <den@openvz.org> CC: Peter Xu <peterx@redhat.com> CC: Fabiano Rosas <farosas@suse.de> CC: Paolo Bonzini <pbonzini@redhat.com> Link: https://lore.kernel.org/r/20240905191941.310592-1-den@openvz.org Signed-off-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
afe166d4e8
commit
89bccecdda
@ -28,6 +28,7 @@
|
|||||||
#include "qemu/main-loop.h"
|
#include "qemu/main-loop.h"
|
||||||
#include "sysemu/cpus.h"
|
#include "sysemu/cpus.h"
|
||||||
#include "sysemu/cpu-throttle.h"
|
#include "sysemu/cpu-throttle.h"
|
||||||
|
#include "trace.h"
|
||||||
|
|
||||||
/* vcpu throttling controls */
|
/* vcpu throttling controls */
|
||||||
static QEMUTimer *throttle_timer;
|
static QEMUTimer *throttle_timer;
|
||||||
@ -95,6 +96,8 @@ void cpu_throttle_set(int new_throttle_pct)
|
|||||||
*/
|
*/
|
||||||
bool throttle_active = cpu_throttle_active();
|
bool throttle_active = cpu_throttle_active();
|
||||||
|
|
||||||
|
trace_cpu_throttle_set(new_throttle_pct);
|
||||||
|
|
||||||
/* Ensure throttle percentage is within valid range */
|
/* Ensure throttle percentage is within valid range */
|
||||||
new_throttle_pct = MIN(new_throttle_pct, CPU_THROTTLE_PCT_MAX);
|
new_throttle_pct = MIN(new_throttle_pct, CPU_THROTTLE_PCT_MAX);
|
||||||
new_throttle_pct = MAX(new_throttle_pct, CPU_THROTTLE_PCT_MIN);
|
new_throttle_pct = MAX(new_throttle_pct, CPU_THROTTLE_PCT_MIN);
|
||||||
|
@ -44,3 +44,6 @@ dirtylimit_state_finalize(void)
|
|||||||
dirtylimit_throttle_pct(int cpu_index, uint64_t pct, int64_t time_us) "CPU[%d] throttle percent: %" PRIu64 ", throttle adjust time %"PRIi64 " us"
|
dirtylimit_throttle_pct(int cpu_index, uint64_t pct, int64_t time_us) "CPU[%d] throttle percent: %" PRIu64 ", throttle adjust time %"PRIi64 " us"
|
||||||
dirtylimit_set_vcpu(int cpu_index, uint64_t quota) "CPU[%d] set dirty page rate limit %"PRIu64
|
dirtylimit_set_vcpu(int cpu_index, uint64_t quota) "CPU[%d] set dirty page rate limit %"PRIu64
|
||||||
dirtylimit_vcpu_execute(int cpu_index, int64_t sleep_time_us) "CPU[%d] sleep %"PRIi64 " us"
|
dirtylimit_vcpu_execute(int cpu_index, int64_t sleep_time_us) "CPU[%d] sleep %"PRIi64 " us"
|
||||||
|
|
||||||
|
# cpu-throttle.c
|
||||||
|
cpu_throttle_set(int new_throttle_pct) "set guest CPU throttled by %d%%"
|
||||||
|
Loading…
Reference in New Issue
Block a user