-----BEGIN PGP SIGNATURE-----

iQEcBAABAgAGBQJZZI3OAAoJEJykq7OBq3PIlyUH/A3Fdd40aA0e0N2DEGs+K8FG
 9Uu/KwoumRG/RTezuLQkek1TD/86cRsktTFWEY9TAKTrTS0tqnSUvWS4au1unaaf
 dfaEjNQ36eFu/QWkANtD0eBNEif5kHsVgvCCEsy1yFFaSQg5Gh6EyAGTN/FeJEvR
 SLc+k6oyhDf/6Cq0oe+wASmwpXxzQJjnvOyqH9PVeLtbCXr3AuHMHA1C+Wpfe7it
 G3FNwu92UGz052Ks8WWwIvhFwdNSJayv1lY9ZtP98Ea7CSmVambPcgLe9ZzsHJo2
 Dw+tjZfX24u2EuT5BlNcfC5rKrfJOfEcwfeaIip8B/BFOdk724yw6yONIcMHuog=
 =hzBY
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging

# gpg: Signature made Tue 11 Jul 2017 09:35:26 BST
# 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:
  backends: remove empty trace-events file
  trace: Fix early setting of events with the "vcpu" property

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2017-07-11 17:13:49 +01:00
commit 31fe1c4145
3 changed files with 7 additions and 4 deletions

View File

@ -122,7 +122,6 @@ trace-events-subdirs += crypto
trace-events-subdirs += io trace-events-subdirs += io
trace-events-subdirs += migration trace-events-subdirs += migration
trace-events-subdirs += block trace-events-subdirs += block
trace-events-subdirs += backends
trace-events-subdirs += chardev trace-events-subdirs += chardev
trace-events-subdirs += hw/block trace-events-subdirs += hw/block
trace-events-subdirs += hw/block/dataplane trace-events-subdirs += hw/block/dataplane

View File

View File

@ -1,7 +1,7 @@
/* /*
* Interface for configuring and controlling the state of tracing events. * Interface for configuring and controlling the state of tracing events.
* *
* Copyright (C) 2014-2016 Lluís Vilanova <vilanova@ac.upc.edu> * Copyright (C) 2014-2017 Lluís Vilanova <vilanova@ac.upc.edu>
* *
* This work is licensed under the terms of the GNU GPL, version 2 or later. * This work is licensed under the terms of the GNU GPL, version 2 or later.
* See the COPYING file in the top-level directory. * See the COPYING file in the top-level directory.
@ -38,12 +38,16 @@ void trace_event_set_state_dynamic(TraceEvent *ev, bool state)
{ {
CPUState *vcpu; CPUState *vcpu;
assert(trace_event_get_state_static(ev)); assert(trace_event_get_state_static(ev));
if (trace_event_is_vcpu(ev)) { if (trace_event_is_vcpu(ev) && likely(first_cpu != NULL)) {
CPU_FOREACH(vcpu) { CPU_FOREACH(vcpu) {
trace_event_set_vcpu_state_dynamic(vcpu, ev, state); trace_event_set_vcpu_state_dynamic(vcpu, ev, state);
} }
} else { } else {
/* Without the "vcpu" property, dstate can only be 1 or 0 */ /*
* Without the "vcpu" property, dstate can only be 1 or 0. With it, we
* haven't instantiated any vCPU yet, so we will set a global state
* instead, and trace_init_vcpu will reconcile it afterwards.
*/
bool state_pre = *ev->dstate; bool state_pre = *ev->dstate;
if (state_pre != state) { if (state_pre != state) {
if (state) { if (state) {