[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Our use of #include is undisciplined, and what to do ab
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it |
Date: |
Wed, 16 Mar 2016 18:23:43 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Tue, Mar 15, 2016 at 01:56:47PM +0000, Dr. David Alan Gilbert wrote:
> > This would put trace_foo() in generated-tracers-virtio-blk.h and
> > trace_bar() in generated-tracers-memory.h. Source files using tracing
> > would need to include headers for relevant sections.
> >
> > This way we can narrow the scope of tracing headers and prevent global
> > recompilation.
> >
> > The fly in the ointment is that trace/control.h defines enum
> > TraceEventID, a global numbering of all trace events. The enum is used
> > in trace/contro.h APIs and also in the simpletrace file format.
> >
> > If ./trace-event is modified the numbering of trace events could change.
> > This would require global recompilation :(.
> >
> > So in order to avoid global recompilation we need to eliminate enum
> > TraceEventID. Perhaps it's possible to use TraceEvent* instead of
> > TraceEventID. For the simpletrace backend we would continue to use a
> > global ordering but that only affects generated-tracers.c and not header
> > files (thankfully!).
>
> I think the hardest part is going to be understanding all of the different
> tracers and the things they need to know; like that thing about simpletrace
> needing the single ordering; I don't know what the other backends need
> but I bet they've each got their own surprise.
>
> (And yes, I'd love to split them up - I tend to use traceing quite a bit
> in migration now and trying to do a bisect over a big migration patch
> series takes ages mostly because of the trace.h changes)
Yes, this is the hard part. The simpletrace.py pretty-printing script
takes a trace-events file as input. I suppose it could alphabetically
sort the trace-events filenames from the command-line to produce a
global ordering of trace event IDs. Of course that doesn't work
properly if the script is invoked with relative paths from a
sub-directory...
Perhaps we need a new script during the QEMU build process that produces
a trace-event-ids.csv file. Then simpletrace.py could take that instead
of processing ./trace-events.
Stefan
signature.asc
Description: PGP signature
- [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Markus Armbruster, 2016/03/15
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Paolo Bonzini, 2016/03/15
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Peter Maydell, 2016/03/15
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Stefan Hajnoczi, 2016/03/15
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Daniel P. Berrange, 2016/03/15
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Dr. David Alan Gilbert, 2016/03/15
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it,
Stefan Hajnoczi <=
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Dr. David Alan Gilbert, 2016/03/16
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Stefan Hajnoczi, 2016/03/17
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Dr. David Alan Gilbert, 2016/03/17
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Paolo Bonzini, 2016/03/17
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Dr. David Alan Gilbert, 2016/03/17
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Paolo Bonzini, 2016/03/17
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Richard Henderson, 2016/03/17
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Peter Maydell, 2016/03/17
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Richard Henderson, 2016/03/17
- Re: [Qemu-devel] Our use of #include is undisciplined, and what to do about it, Paolo Bonzini, 2016/03/17