diff options
author | Vladimir Sementsov-Ogievskiy | 2019-01-24 13:51:54 +0100 |
---|---|---|
committer | Stefan Hajnoczi | 2019-01-25 11:21:27 +0100 |
commit | ff12e3ae3d052e11538c40a2b92d9b6db3b5520b (patch) | |
tree | 4f197c9ecd9d4c250f3985ef5e23432fa3314239 | |
parent | trace: add ability to do simple printf logging via systemtap (diff) | |
download | qemu-ff12e3ae3d052e11538c40a2b92d9b6db3b5520b.tar.gz qemu-ff12e3ae3d052e11538c40a2b92d9b6db3b5520b.tar.xz qemu-ff12e3ae3d052e11538c40a2b92d9b6db3b5520b.zip |
trace: improve runstate tracing
Trace previous state, move tracepoint to runstate_set start (to cover
all cases for debugging), add string representations of traced states.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id: 20190124125154.474650-1-vsementsov@virtuozzo.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | trace-events | 4 | ||||
-rw-r--r-- | vl.c | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/trace-events b/trace-events index 4fd2cb4b97..e66afc59e9 100644 --- a/trace-events +++ b/trace-events @@ -34,9 +34,9 @@ cpu_out(unsigned int addr, char size, unsigned int val) "addr 0x%x(%c) value %u" balloon_event(void *opaque, unsigned long addr) "opaque %p addr %lu" # vl.c -vm_state_notify(int running, int reason) "running %d reason %d" +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 new_state) "new state %d" +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) "" @@ -731,6 +731,9 @@ void runstate_set(RunState new_state) { assert(new_state < RUN_STATE__MAX); + trace_runstate_set(current_run_state, RunState_str(current_run_state), + new_state, RunState_str(current_run_state)); + if (current_run_state == new_state) { return; } @@ -741,7 +744,7 @@ void runstate_set(RunState new_state) RunState_str(new_state)); abort(); } - trace_runstate_set(new_state); + current_run_state = new_state; } @@ -1554,7 +1557,7 @@ void vm_state_notify(int running, RunState state) { VMChangeStateEntry *e, *next; - trace_vm_state_notify(running, state); + trace_vm_state_notify(running, state, RunState_str(state)); QLIST_FOREACH_SAFE(e, &vm_change_state_head, entries, next) { e->cb(e->opaque, running, state); |