-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJYfM5OAAoJEJykq7OBq3PIwnAH/2bNw1ODu/SxJ6WsFcQWXPhS Ie0S/A/493M2dDeXmS++8Fx+dELCBmk+/Lg7Wssq4CI50JL+PRkaHEBALSv5KDBZ Fcv/PMQilLVIRHbTnZq7r7gwTvCHH9zJ1OZTJ8+etEiSgLqU4ELBKkZrUHoN8FTI 92faAxhuuIIAHFvHs/NJYUjiCWLdnsLxiBINJtXA9YR3EhaWXmjZiQJY9gXWrme9 LF3AWGDk1eVO6KIUD/7OxCTUZkrcZdiA8DT90HWjTY5XUQbvYJjDq+3UE6Ve7OQl holXC1aJ3YHWM4/gAKVVvQJ9FsFZfcsL/wMDXmi09VwOlOtjrej99DZBT+Tp6Zg= =uGyL -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging # gpg: Signature made Mon 16 Jan 2017 13:44:46 GMT # gpg: using RSA key 0x9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * remotes/stefanha/tags/tracing-pull-request: trace: Add event "guest_cpu_exit" trace: Fix dynamic event state on vCPU hot-unplug trace: Lock vCPU list when initializing dynamic tracing state trace-events: spelling fix Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
ab4b927604
@ -354,6 +354,8 @@ static void cpu_common_realizefn(DeviceState *dev, Error **errp)
|
||||
static void cpu_common_unrealizefn(DeviceState *dev, Error **errp)
|
||||
{
|
||||
CPUState *cpu = CPU(dev);
|
||||
/* NOTE: latest generic point before the cpu is fully unrealized */
|
||||
trace_fini_vcpu(cpu);
|
||||
cpu_exec_unrealizefn(cpu);
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ qemu_system_shutdown_request(void) ""
|
||||
qemu_system_powerdown_request(void) ""
|
||||
|
||||
# spice-qemu-char.c
|
||||
spice_vmc_write(ssize_t out, int len) "spice wrottn %zd of requested %d"
|
||||
spice_vmc_write(ssize_t out, int len) "spice wrote %zd of requested %d"
|
||||
spice_vmc_read(int bytes, int len) "spice read %d of requested %d"
|
||||
spice_vmc_register_interface(void *scd) "spice vmc registered interface %p"
|
||||
spice_vmc_unregister_interface(void *scd) "spice vmc unregistered interface %p"
|
||||
@ -141,6 +141,12 @@ memory_region_ram_device_write(int cpu_index, void *mr, uint64_t addr, uint64_t
|
||||
# Targets: all
|
||||
vcpu guest_cpu_enter(void)
|
||||
|
||||
# Hot-unplug a virtual (guest) CPU
|
||||
#
|
||||
# Mode: user, softmmu
|
||||
# Targets: all
|
||||
vcpu guest_cpu_exit(void)
|
||||
|
||||
# Reset the state of a virtual (guest) CPU
|
||||
#
|
||||
# Mode: user, softmmu
|
||||
|
@ -79,7 +79,7 @@ void trace_event_set_vcpu_state_dynamic(CPUState *vcpu,
|
||||
}
|
||||
}
|
||||
|
||||
static bool adding_first_cpu(void)
|
||||
static bool adding_first_cpu1(void)
|
||||
{
|
||||
CPUState *cpu;
|
||||
size_t count = 0;
|
||||
@ -92,6 +92,15 @@ static bool adding_first_cpu(void)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool adding_first_cpu(void)
|
||||
{
|
||||
bool res;
|
||||
cpu_list_lock();
|
||||
res = adding_first_cpu1();
|
||||
cpu_list_unlock();
|
||||
return res;
|
||||
}
|
||||
|
||||
void trace_init_vcpu(CPUState *vcpu)
|
||||
{
|
||||
TraceEventIter iter;
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "qemu/error-report.h"
|
||||
#include "qemu/config-file.h"
|
||||
#include "monitor/monitor.h"
|
||||
#include "trace.h"
|
||||
|
||||
int trace_events_enabled_count;
|
||||
|
||||
@ -259,6 +260,24 @@ void trace_init_file(const char *file)
|
||||
#endif
|
||||
}
|
||||
|
||||
void trace_fini_vcpu(CPUState *vcpu)
|
||||
{
|
||||
TraceEventIter iter;
|
||||
TraceEvent *ev;
|
||||
|
||||
trace_guest_cpu_exit(vcpu);
|
||||
|
||||
trace_event_iter_init(&iter, NULL);
|
||||
while ((ev = trace_event_iter_next(&iter)) != NULL) {
|
||||
if (trace_event_is_vcpu(ev) &&
|
||||
trace_event_get_state_static(ev) &&
|
||||
trace_event_get_vcpu_state_dynamic(vcpu, ev)) {
|
||||
/* must disable to affect the global counter */
|
||||
trace_event_set_vcpu_state_dynamic(vcpu, ev, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool trace_init_backends(void)
|
||||
{
|
||||
#ifdef CONFIG_TRACE_SIMPLE
|
||||
|
@ -201,6 +201,14 @@ void trace_init_file(const char *file);
|
||||
*/
|
||||
void trace_init_vcpu(CPUState *vcpu);
|
||||
|
||||
/**
|
||||
* trace_fini_vcpu:
|
||||
* @vcpu: Removed vCPU.
|
||||
*
|
||||
* Disable dynamic event state for a hot-unplugged vCPU.
|
||||
*/
|
||||
void trace_fini_vcpu(CPUState *vcpu);
|
||||
|
||||
/**
|
||||
* trace_list_events:
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user