mirror of https://github.com/xemu-project/xemu.git
trace: remove vcpu_id from the TraceEvent structure
This does involve temporarily stubbing out some helper functions before we excise the rest of the code. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-id: 20230526165401.574474-4-alex.bennee@linaro.org Message-Id: <20230524133952.3971948-4-alex.bennee@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
78f314cf83
commit
7103201370
|
@ -32,19 +32,13 @@ def generate(events, backend, group):
|
|||
out('uint16_t %s;' % e.api(e.QEMU_DSTATE))
|
||||
|
||||
for e in events:
|
||||
if "vcpu" in e.properties:
|
||||
vcpu_id = 0
|
||||
else:
|
||||
vcpu_id = "TRACE_VCPU_EVENT_NONE"
|
||||
out('TraceEvent %(event)s = {',
|
||||
' .id = 0,',
|
||||
' .vcpu_id = %(vcpu_id)s,',
|
||||
' .name = \"%(name)s\",',
|
||||
' .sstate = %(sstate)s,',
|
||||
' .dstate = &%(dstate)s ',
|
||||
'};',
|
||||
event = e.api(e.QEMU_EVENT),
|
||||
vcpu_id = vcpu_id,
|
||||
name = e.name,
|
||||
sstate = "TRACE_%s_ENABLED" % e.name.upper(),
|
||||
dstate = e.api(e.QEMU_DSTATE))
|
||||
|
|
|
@ -74,16 +74,7 @@ def generate(events, backend, group):
|
|||
|
||||
out('}')
|
||||
|
||||
# tracer wrapper with checks (per-vCPU tracing)
|
||||
if "vcpu" in e.properties:
|
||||
trace_cpu = next(iter(e.args))[1]
|
||||
cond = "trace_event_get_vcpu_state(%(cpu)s,"\
|
||||
" TRACE_%(id)s)"\
|
||||
% dict(
|
||||
cpu=trace_cpu,
|
||||
id=e.name.upper())
|
||||
else:
|
||||
cond = "true"
|
||||
cond = "true"
|
||||
|
||||
out('',
|
||||
'static inline void %(api)s(%(args)s)',
|
||||
|
|
|
@ -27,12 +27,12 @@ static inline uint32_t trace_event_get_id(TraceEvent *ev)
|
|||
|
||||
static inline uint32_t trace_event_get_vcpu_id(TraceEvent *ev)
|
||||
{
|
||||
return ev->vcpu_id;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline bool trace_event_is_vcpu(TraceEvent *ev)
|
||||
{
|
||||
return ev->vcpu_id != TRACE_VCPU_EVENT_NONE;
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline const char * trace_event_get_name(TraceEvent *ev)
|
||||
|
|
|
@ -68,16 +68,6 @@ void trace_event_register_group(TraceEvent **events)
|
|||
size_t i;
|
||||
for (i = 0; events[i] != NULL; i++) {
|
||||
events[i]->id = next_id++;
|
||||
if (events[i]->vcpu_id == TRACE_VCPU_EVENT_NONE) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (likely(next_vcpu_id < CPU_TRACE_DSTATE_MAX_EVENTS)) {
|
||||
events[i]->vcpu_id = next_vcpu_id++;
|
||||
} else {
|
||||
warn_report("too many vcpu trace events; dropping '%s'",
|
||||
events[i]->name);
|
||||
}
|
||||
}
|
||||
event_groups = g_renew(TraceEventGroup, event_groups, nevent_groups + 1);
|
||||
event_groups[nevent_groups].events = events;
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
/**
|
||||
* TraceEvent:
|
||||
* @id: Unique event identifier.
|
||||
* @vcpu_id: Unique per-vCPU event identifier.
|
||||
* @name: Event name.
|
||||
* @sstate: Static tracing state.
|
||||
* @dstate: Dynamic tracing state
|
||||
|
@ -33,7 +32,6 @@
|
|||
*/
|
||||
typedef struct TraceEvent {
|
||||
uint32_t id;
|
||||
uint32_t vcpu_id;
|
||||
const char * name;
|
||||
const bool sstate;
|
||||
uint16_t *dstate;
|
||||
|
|
Loading…
Reference in New Issue