aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyman Huang <yong.huang@smartx.com>2024-10-17 14:42:52 +0800
committerPeter Xu <peterx@redhat.com>2024-10-31 15:48:18 -0400
commitd481cec75658b313be3ae8fea3f800780e5c937b (patch)
treea6b4fc5478a8a8bec6e7ec69cdd8f64b444e24fe
parent054e5d66e53e48f842c1cce61dc1b714fe9bf0ee (diff)
downloadqemu-d481cec75658b313be3ae8fea3f800780e5c937b.zip
qemu-d481cec75658b313be3ae8fea3f800780e5c937b.tar.gz
qemu-d481cec75658b313be3ae8fea3f800780e5c937b.tar.bz2
migration: Move cpu-throttle.c from system to migration
Move cpu-throttle.c from system to migration since it's only used for migration; this makes us avoid exporting the util functions and variables in misc.h but export them in migration.h when implementing the periodic ramblock dirty sync feature in the upcoming commits. Since CPU throttle timers are only used in migration, move their registry to migration_object_init. Signed-off-by: Hyman Huang <yong.huang@smartx.com> Reviewed-by: Fabiano Rosas <farosas@suse.de> Link: https://lore.kernel.org/r/c1b3efaa0cb49e03d422e9da97bdb65cc3d234d1.1729146786.git.yong.huang@smartx.com [peterx: Fix build on MacOS on cocoa.m, not move cpu-throttle.h yet] [peterx: Fix subject spelling, per pm215] Signed-off-by: Peter Xu <peterx@redhat.com>
-rw-r--r--migration/cpu-throttle.c (renamed from system/cpu-throttle.c)0
-rw-r--r--migration/meson.build1
-rw-r--r--migration/migration.c3
-rw-r--r--migration/trace-events3
-rw-r--r--system/cpu-timers.c3
-rw-r--r--system/meson.build1
-rw-r--r--system/trace-events3
7 files changed, 7 insertions, 7 deletions
diff --git a/system/cpu-throttle.c b/migration/cpu-throttle.c
index 7632dc6..7632dc6 100644
--- a/system/cpu-throttle.c
+++ b/migration/cpu-throttle.c
diff --git a/migration/meson.build b/migration/meson.build
index 66d3de8..d53cf34 100644
--- a/migration/meson.build
+++ b/migration/meson.build
@@ -13,6 +13,7 @@ system_ss.add(files(
'block-dirty-bitmap.c',
'channel.c',
'channel-block.c',
+ 'cpu-throttle.c',
'dirtyrate.c',
'exec.c',
'fd.c',
diff --git a/migration/migration.c b/migration/migration.c
index e81c70b..64c1d0c 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -263,6 +263,9 @@ void migration_object_init(void)
ram_mig_init();
dirty_bitmap_mig_init();
+
+ /* Initialize cpu throttle timers */
+ cpu_throttle_init();
}
typedef struct {
diff --git a/migration/trace-events b/migration/trace-events
index c65902f..9a19599 100644
--- a/migration/trace-events
+++ b/migration/trace-events
@@ -378,3 +378,6 @@ migration_block_progression(unsigned percent) "Completed %u%%"
# page_cache.c
migration_pagecache_init(int64_t max_num_items) "Setting cache buckets to %" PRId64
migration_pagecache_insert(void) "Error allocating page"
+
+# cpu-throttle.c
+cpu_throttle_set(int new_throttle_pct) "set guest CPU throttled by %d%%"
diff --git a/system/cpu-timers.c b/system/cpu-timers.c
index 0b31c9a..856e502 100644
--- a/system/cpu-timers.c
+++ b/system/cpu-timers.c
@@ -35,7 +35,6 @@
#include "sysemu/runstate.h"
#include "hw/core/cpu.h"
#include "sysemu/cpu-timers.h"
-#include "sysemu/cpu-throttle.h"
#include "sysemu/cpu-timers-internal.h"
/* clock and ticks */
@@ -272,6 +271,4 @@ void cpu_timers_init(void)
seqlock_init(&timers_state.vm_clock_seqlock);
qemu_spin_init(&timers_state.vm_clock_lock);
vmstate_register(NULL, 0, &vmstate_timers, &timers_state);
-
- cpu_throttle_init();
}
diff --git a/system/meson.build b/system/meson.build
index a296270..4952f4b 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -10,7 +10,6 @@ system_ss.add(files(
'balloon.c',
'bootdevice.c',
'cpus.c',
- 'cpu-throttle.c',
'cpu-timers.c',
'datadir.c',
'dirtylimit.c',
diff --git a/system/trace-events b/system/trace-events
index 074d001..2ed1d59 100644
--- a/system/trace-events
+++ b/system/trace-events
@@ -44,6 +44,3 @@ 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_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"
-
-# cpu-throttle.c
-cpu_throttle_set(int new_throttle_pct) "set guest CPU throttled by %d%%"