[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.8 v1 10/60] trace: remove fixed global eve
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH for-2.8 v1 10/60] trace: remove fixed global event state arrays |
Date: |
Wed, 10 Aug 2016 15:47:20 +0100 |
User-agent: |
Mutt/1.6.2 (2016-07-01) |
On Wed, Aug 10, 2016 at 04:00:17PM +0200, Lluís Vilanova wrote:
> Daniel P Berrange writes:
> [...]
> > diff --git a/scripts/tracetool/format/events_c.py
> > b/scripts/tracetool/format/events_c.py
> > index 9203377..bab6404 100644
> > --- a/scripts/tracetool/format/events_c.py
> > +++ b/scripts/tracetool/format/events_c.py
> > @@ -25,7 +25,10 @@ def generate(events, backend):
> > '#include "trace/control.h"',
> > '')
>
> > - out('TraceEvent trace_events[TRACE_EVENT_COUNT] = {')
> > + out('uint16_t dstate[TRACE_EVENT_COUNT];')
> > + out('bool dstate_init[TRACE_EVENT_COUNT];')
> > +
> > + out('static TraceEvent trace_events[TRACE_EVENT_COUNT] = {')
>
> > for e in events:
> > if "vcpu" in e.properties:
>
> I'd rather keep them as 'trace_events_dstate' and 'trace_events_dstate_init'
> if
> most references are auto-generated. Or maybe I just missed something.
Later patches rename this again, giving it a custom prefix for each
group
> Also, maybe we should just try to get rid of the dstate_init structure. Only
> vcpu events need late initialization, which could be something like:
>
> trace_events_enabled_count--;
> dstate[ev->id]--;
> trace_event_set_state_dynamic(dstate, ev, true);
>
> Non-vcpu events shouldn't need late initialization.
I'd rather not try to refactor that logic at the same time - it could
be done as a later patch, or if you want to submit a patch to fix that
I can rebase on top of it.
> [...]
> > diff --git a/stubs/trace-control.c b/stubs/trace-control.c
> > index fe59836..31566c2 100644
> > --- a/stubs/trace-control.c
> > +++ b/stubs/trace-control.c
> > @@ -11,16 +11,12 @@
> > #include "trace/control.h"
>
>
> > -void trace_event_set_state_dynamic(TraceEvent *ev, bool state)
> > +void trace_event_set_state_dynamic(uint16_t *dstate, TraceEvent *ev, bool
> > state)
> > {
> > - TraceEventID id;
> > assert(trace_event_get_state_static(ev));
> > - id = trace_event_get_id(ev);
> > - trace_events_enabled_count += state - trace_events_dstate[id];
> > - trace_events_dstate[id] = state;
> > }
>
> Should not be empty (here, stub means it's not target code).
Oh hmm, for qemu-img & friends, i geuss
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
[Qemu-devel] [PATCH for-2.8 v1 12/60] trace: use -1 instead of TRACE_VCPU_EVENT_COUNT as magic value, Daniel P. Berrange, 2016/08/09
[Qemu-devel] [PATCH for-2.8 v1 14/60] trace: get rid of generated-events.h/generated-events.c, Daniel P. Berrange, 2016/08/09
[Qemu-devel] [PATCH for-2.8 v1 13/60] trace: remove generated-events.h from many includes, Daniel P. Berrange, 2016/08/09
[Qemu-devel] [PATCH for-2.8 v1 19/60] trace: switch util/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09
[Qemu-devel] [PATCH for-2.8 v1 15/60] trace: introduce a formal group name for trace events, Daniel P. Berrange, 2016/08/09
[Qemu-devel] [PATCH for-2.8 v1 17/60] trace: introduce some Makefile rules for module code gen, Daniel P. Berrange, 2016/08/09
[Qemu-devel] [PATCH for-2.8 v1 20/60] trace: switch crypto/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09