[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.8 v1 60/60] trace: update docs to reflect
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH for-2.8 v1 60/60] trace: update docs to reflect new code generation approach |
Date: |
Wed, 10 Aug 2016 15:51:25 +0100 |
User-agent: |
Mutt/1.6.2 (2016-07-01) |
On Wed, Aug 10, 2016 at 04:33:47PM +0200, Lluís Vilanova wrote:
> Daniel P Berrange writes:
>
> > Describe use of per-subdir trace events files and how it impacts
> > code generation.
>
> > Signed-off-by: Daniel P. Berrange <address@hidden>
> > ---
> > docs/tracing.txt | 61
> > +++++++++++++++++++++++++++++++++++++++++++++++---------
> > 1 file changed, 52 insertions(+), 9 deletions(-)
>
> > diff --git a/docs/tracing.txt b/docs/tracing.txt
> > index 29f2f9a..b7ba179 100644
> > --- a/docs/tracing.txt
> > +++ b/docs/tracing.txt
> > @@ -27,18 +27,51 @@ for debugging, profiling, and observing execution.
>
> > == Trace events ==
>
> > +=== Sub-directory setup ===
> > +
> > Each directory in the source tree can declare a set of static trace events
> > -in a "trace-events" file. Each trace event declaration names the event, its
> > -arguments, and the format string which can be used for pretty-printing:
> > +in a "trace-events" file. The first (non-comment) statement in the file
> > +must be "@id_offset(NN)" where NN is an integer that is unique among all
> > +"trace-events" files in the QEMU source tree. The IDs can be arbitrarily
> > +chosen, but extra fun the current "trace-events" files use values from the
> > +"powerful number" integer sequence :-)
>
> Can we get rid of the "@id_offset(NN)"? If we're generating a trace-events-all
> all the same, we can use that to generate all the per-directory file *and*
> still
> keep the simpler flat event ids.
One thing that occurred to me is that we could take a hash of the
group name. Since we have few enough sub-dirs / groups, and a large
enough ID space, it ought to be possible to get a hash which is
unique. The trace tool can double check that all groups get a unique
hash
> For example, first we concatenate /trace-events, /io/trace-events and
> /hw/usb/trace-events into /trace-events-all to produce:
>
> @group core
> @dir /
> # contents of /trace-events
> @group io
> @dir /io
> # contents of /io/trace-events
> @group hw_usb
> @dir /hw/usb
> # contents of /hw/usb/trace-events
>
> Then we can use /trace-events-all to generate all the per-directory trace.h
> files while ensuring a perfectly flat event identifier space (a single
> generated-events.c is used).
>
> This should minimize changes to tracing code and avoid further restrictions
> (like the "top-level vcpu" one).
That means when any individual trace file is changed, we re-generate the
world, which is exactly what this series is designed to avoid.
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 49/60] trace: switch hw/alpha/ directory to modular trace.h file, (continued)
- [Qemu-devel] [PATCH for-2.8 v1 49/60] trace: switch hw/alpha/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09
- [Qemu-devel] [PATCH for-2.8 v1 55/60] trace: switch target-s390x/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09
- [Qemu-devel] [PATCH for-2.8 v1 58/60] trace: switch linux-user/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09
- [Qemu-devel] [PATCH for-2.8 v1 54/60] trace: switch target-sparc/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09
- [Qemu-devel] [PATCH for-2.8 v1 56/60] trace: switch target-ppc/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09
- [Qemu-devel] [PATCH for-2.8 v1 57/60] trace: switch qom/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09
- [Qemu-devel] [PATCH for-2.8 v1 51/60] trace: switch audio/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09
- [Qemu-devel] [PATCH for-2.8 v1 53/60] trace: switch target-i386/ directory to modular trace.h file, Daniel P. Berrange, 2016/08/09
- [Qemu-devel] [PATCH for-2.8 v1 60/60] trace: update docs to reflect new code generation approach, Daniel P. Berrange, 2016/08/09
[Qemu-devel] [PATCH for-2.8 v1 59/60] trace: remove the global include/trace.h file, Daniel P. Berrange, 2016/08/09
Re: [Qemu-devel] [PATCH for-2.8 v1 00/60] Modular build of trace event files, no-reply, 2016/08/09