mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-09-06 18:05:37 +00:00
![Hyman Huang(黄勇)](/assets/img/avatar_default.png)
since dirty ring has been introduced, there are two methods to track dirty pages of vm. it seems that "logging" has a hint on the method, so rename the global_dirty_log to global_dirty_tracking would make description more accurate. dirty rate measurement may start or stop dirty tracking during calculation. this conflict with migration because stop dirty tracking make migration leave dirty pages out then that'll be a problem. make global_dirty_tracking a bitmask can let both migration and dirty rate measurement work fine. introduce GLOBAL_DIRTY_MIGRATION and GLOBAL_DIRTY_DIRTY_RATE to distinguish what current dirty tracking aims for, migration or dirty rate. Signed-off-by: Hyman Huang(黄勇) <huangy81@chinatelecom.cn> Message-Id: <9c9388657cfa0301bd2c1cfa36e7cf6da4aeca19.1624040308.git.huangy81@chinatelecom.cn> Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
34 lines
2.2 KiB
Plaintext
34 lines
2.2 KiB
Plaintext
# See docs/devel/tracing.rst for syntax documentation.
|
|
|
|
# balloon.c
|
|
# Since requests are raised via monitor, not many tracepoints are needed.
|
|
balloon_event(void *opaque, unsigned long addr) "opaque %p addr %lu"
|
|
|
|
# ioport.c
|
|
cpu_in(unsigned int addr, char size, unsigned int val) "addr 0x%x(%c) value %u"
|
|
cpu_out(unsigned int addr, char size, unsigned int val) "addr 0x%x(%c) value %u"
|
|
|
|
# memory.c
|
|
memory_region_ops_read(int cpu_index, void *mr, uint64_t addr, uint64_t value, unsigned size, const char *name) "cpu %d mr %p addr 0x%"PRIx64" value 0x%"PRIx64" size %u name '%s'"
|
|
memory_region_ops_write(int cpu_index, void *mr, uint64_t addr, uint64_t value, unsigned size, const char *name) "cpu %d mr %p addr 0x%"PRIx64" value 0x%"PRIx64" size %u name '%s'"
|
|
memory_region_subpage_read(int cpu_index, void *mr, uint64_t offset, uint64_t value, unsigned size) "cpu %d mr %p offset 0x%"PRIx64" value 0x%"PRIx64" size %u"
|
|
memory_region_subpage_write(int cpu_index, void *mr, uint64_t offset, uint64_t value, unsigned size) "cpu %d mr %p offset 0x%"PRIx64" value 0x%"PRIx64" size %u"
|
|
memory_region_ram_device_read(int cpu_index, void *mr, uint64_t addr, uint64_t value, unsigned size) "cpu %d mr %p addr 0x%"PRIx64" value 0x%"PRIx64" size %u"
|
|
memory_region_ram_device_write(int cpu_index, void *mr, uint64_t addr, uint64_t value, unsigned size) "cpu %d mr %p addr 0x%"PRIx64" value 0x%"PRIx64" size %u"
|
|
memory_region_sync_dirty(const char *mr, const char *listener, int global) "mr '%s' listener '%s' synced (global=%d)"
|
|
flatview_new(void *view, void *root) "%p (root %p)"
|
|
flatview_destroy(void *view, void *root) "%p (root %p)"
|
|
flatview_destroy_rcu(void *view, void *root) "%p (root %p)"
|
|
global_dirty_changed(unsigned int bitmask) "bitmask 0x%"PRIx32
|
|
|
|
# softmmu.c
|
|
vm_stop_flush_all(int ret) "ret %d"
|
|
|
|
# vl.c
|
|
vm_state_notify(int running, int reason, const char *reason_str) "running %d reason %d (%s)"
|
|
load_file(const char *name, const char *path) "name %s location %s"
|
|
runstate_set(int current_state, const char *current_state_str, int new_state, const char *new_state_str) "current_run_state %d (%s) new_state %d (%s)"
|
|
system_wakeup_request(int reason) "reason=%d"
|
|
qemu_system_shutdown_request(int reason) "reason=%d"
|
|
qemu_system_powerdown_request(void) ""
|