trace: remove global 'uint16 dstate[]' array
commit93977402441405055500ff0389b49f6bbac9d50b
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 4 Oct 2016 13:35:45 +0000 (4 14:35 +0100)
committerStefan Hajnoczi <stefanha@redhat.com>
Wed, 12 Oct 2016 07:35:54 +0000 (12 09:35 +0200)
tree3a1e1ded1e54db71d2576460552faae5d0f32136
parent599ab2f241ee6693ea0a2700210718327b346f7f
trace: remove global 'uint16 dstate[]' array

Instead of having a global dstate array, declare a single
'uint16 TRACE_${EVENT_NAME}_DSTATE' variable for each
trace event. Record a pointer to this variable in the
TraceEvent struct too.

By turning trace_event_get_state_dynamic_by_id into a
macro, this still hits the fast path, and cache affinity
is ensured by declaring all the uint16 vars adjacent to
each other.

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: LluĂ­s Vilanova <vilanova@ac.upc.edu>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-id: 1475588159-30598-7-git-send-email-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
scripts/tracetool/__init__.py
scripts/tracetool/format/events_c.py
scripts/tracetool/format/events_h.py
stubs/trace-control.c
trace/control-internal.h
trace/control-target.c
trace/control.c
trace/event-internal.h