From: "Daniel P. Berrange" <berrange@redhat.com>
To: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 13/18] trace: dynamically allocate event IDs at runtime
Date: Tue, 20 Sep 2016 14:50:03 +0100 [thread overview]
Message-ID: <20160920135003.GM25490@redhat.com> (raw)
In-Reply-To: <87oa3j6a07.fsf@fimbulvetr.bsc.es>
On Mon, Sep 19, 2016 at 08:05:12PM +0200, Lluís Vilanova wrote:
> Daniel P Berrange writes:
>
> > Instead of having the code generator assign event IDs and
> > event VCPU IDs, assign them when the events are registered
> > at runtime. This will allow us allow code to be generated
> > from individual trace-events without having to figure out
> > globally unique numbering at build time.
>
> > Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> > ---
> > scripts/tracetool/format/events_c.py | 10 ++--------
> > scripts/tracetool/format/events_h.py | 7 -------
> > trace/control.c | 11 ++++++++++-
> > 3 files changed, 12 insertions(+), 16 deletions(-)
>
> > diff --git a/scripts/tracetool/format/events_c.py b/scripts/tracetool/format/events_c.py
> > index 7f00b50..1b5790d 100644
> > --- a/scripts/tracetool/format/events_c.py
> > +++ b/scripts/tracetool/format/events_c.py
> > @@ -28,25 +28,19 @@ def generate(events, backend):
> > for e in events:
> > out('uint16_t %s;' % e.api(e.QEMU_DSTATE))
>
> > - next_id = 0
> > - next_vcpu_id = 0
> > for e in events:
> > - id = next_id
> > - next_id += 1
> > if "vcpu" in e.properties:
> > - vcpu_id = next_vcpu_id
> > - next_vcpu_id += 1
> > + vcpu_id = 0
> > else:
> > vcpu_id = "TRACE_VCPU_EVENT_NONE"
> > out('TraceEvent %(event)s = {',
> > - ' .id = %(id)s,',
> > + ' .id = 0,',
>
> Better to use some invalid value, like in TRACE_VCPU_EVENT_NONE.
I don't think it adds anything todo that - TRACE_VCPU_EVENT_NONE is
special because it is a persistent value for lifetime of QEMU
that will be used by runtime comparisons. In contrast this is
just a placeholder that gets replaced by the real value immediately
at startup in trace_event_register_group(). We never even check
the statically set value of 'id' - we just unconditionally replace
it with the real value.
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 :|
next prev parent reply other threads:[~2016-09-20 13:50 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-19 14:48 [Qemu-devel] [PATCH v3 00/18] Refactor trace to allow modular build Daniel P. Berrange
2016-09-19 14:48 ` [Qemu-devel] [PATCH v3 01/18] trace: add trace event iterator APIs Daniel P. Berrange
2016-09-19 16:39 ` Lluís Vilanova
2016-09-19 14:48 ` [Qemu-devel] [PATCH v3 02/18] trace: convert code to use event iterators Daniel P. Berrange
2016-09-19 16:59 ` Lluís Vilanova
2016-09-20 13:13 ` Daniel P. Berrange
2016-09-20 13:36 ` Lluís Vilanova
2016-09-19 14:48 ` [Qemu-devel] [PATCH v3 03/18] trace: remove some now unused functions Daniel P. Berrange
2016-09-19 17:00 ` Lluís Vilanova
2016-09-19 17:24 ` Daniel P. Berrange
2016-09-19 14:48 ` [Qemu-devel] [PATCH v3 04/18] trace: remove global 'uint16 dstate[]' array Daniel P. Berrange
2016-09-19 15:55 ` Eric Blake
2016-09-19 17:05 ` Lluís Vilanova
2016-09-19 14:48 ` [Qemu-devel] [PATCH v3 05/18] trace: remove duplicate control.h includes in generated-tracers.h Daniel P. Berrange
2016-09-19 17:06 ` Lluís Vilanova
2016-09-19 14:48 ` [Qemu-devel] [PATCH v3 06/18] trace: break circular dependancy in event-internal.h Daniel P. Berrange
2016-09-19 17:08 ` Lluís Vilanova
2016-09-20 13:24 ` Daniel P. Berrange
2016-09-19 14:48 ` [Qemu-devel] [PATCH v3 07/18] trace: give each trace event a named TraceEvent struct Daniel P. Berrange
2016-09-19 17:17 ` Lluís Vilanova
2016-09-19 14:48 ` [Qemu-devel] [PATCH v3 08/18] trace: remove the TraceEventID and TraceEventVCPUID enums Daniel P. Berrange
2016-09-19 17:48 ` Lluís Vilanova
2016-09-20 13:29 ` Daniel P. Berrange
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 09/18] trace: emit name <-> ID mapping in simpletrace header Daniel P. Berrange
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 10/18] trace: don't abort qemu if ftrace can't be initialized Daniel P. Berrange
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 11/18] trace: provide mechanism for registering trace events Daniel P. Berrange
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 12/18] trace: dynamically allocate trace_dstate in CPUState Daniel P. Berrange
2016-09-19 17:58 ` Lluís Vilanova
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 13/18] trace: dynamically allocate event IDs at runtime Daniel P. Berrange
2016-09-19 18:05 ` Lluís Vilanova
2016-09-20 13:50 ` Daniel P. Berrange [this message]
2016-09-20 17:45 ` Lluís Vilanova
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 14/18] trace: get rid of generated-events.h/generated-events.c Daniel P. Berrange
2016-09-19 16:02 ` Eric Blake
2016-09-19 18:12 ` Lluís Vilanova
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 15/18] trace: rename _read_events to read_events Daniel P. Berrange
2016-09-19 18:15 ` Lluís Vilanova
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 16/18] trace: push reading of events up a level to tracetool main Daniel P. Berrange
2016-09-19 18:16 ` Lluís Vilanova
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 17/18] trace: pass trace-events to tracetool as a positional param Daniel P. Berrange
2016-09-19 18:18 ` Lluís Vilanova
2016-09-20 13:55 ` Daniel P. Berrange
2016-09-20 17:46 ` Lluís Vilanova
2016-09-19 14:49 ` [Qemu-devel] [PATCH v3 18/18] trace: introduce a formal group name for trace events Daniel P. Berrange
2016-09-19 18:27 ` Lluís Vilanova
2016-09-19 15:54 ` [Qemu-devel] [PATCH v3 00/18] Refactor trace to allow modular build no-reply
2016-09-19 16:00 ` Daniel P. Berrange
2016-09-19 17:13 ` no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160920135003.GM25490@redhat.com \
--to=berrange@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).