From: "Daniel P. Berrange" <berrange@redhat.com>
To: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
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 [thread overview]
Message-ID: <20160810145125.GP13393@redhat.com> (raw)
In-Reply-To: <87shucr8vo.fsf@fimbulvetr.bsc.es>
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 <berrange@redhat.com>
> > ---
> > 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 :|
next prev parent reply other threads:[~2016-08-10 14:51 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-09 15:31 [Qemu-devel] [PATCH for-2.8 v1 00/60] Modular build of trace event files Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 01/60] trace: move util/buffer.c trace points into correct file Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 02/60] trace: move util/qemu-coroutine*.c " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 03/60] trace: move hw/mem/pc-dimm.c " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 04/60] trace: move hw/virtio/virtio-balloon.c " Daniel P. Berrange
2016-09-08 18:09 ` Eric Blake
2016-09-14 14:50 ` Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 05/60] trace: add trace event iterator APIs Daniel P. Berrange
2016-09-02 20:52 ` Stefan Hajnoczi
2016-09-14 12:32 ` Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 06/60] trace: convert code to use event iterators Daniel P. Berrange
2016-09-02 20:55 ` Stefan Hajnoczi
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 07/60] trace: remove some now unused functions Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 08/60] trace: provide mechanism for registering trace events Daniel P. Berrange
2016-08-09 16:17 ` Paolo Bonzini
2016-08-09 16:18 ` Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 09/60] trace: remove use of TRACE_VCPU_EVENT_COUNT in cpu.h Daniel P. Berrange
2016-09-02 21:03 ` Stefan Hajnoczi
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 10/60] trace: remove fixed global event state arrays Daniel P. Berrange
2016-08-10 14:00 ` Lluís Vilanova
2016-08-10 14:47 ` Daniel P. Berrange
2016-08-10 16:13 ` Lluís Vilanova
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 11/60] trace: remove use of event ID enums from APIs Daniel P. Berrange
2016-08-09 16:18 ` Paolo Bonzini
2016-08-09 16:24 ` Daniel P. Berrange
2016-08-09 16:26 ` Paolo Bonzini
2016-09-02 21:13 ` Stefan Hajnoczi
2016-09-14 12:32 ` Daniel P. Berrange
2016-08-09 15:31 ` [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 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 13/60] trace: remove generated-events.h from many includes Daniel P. Berrange
2016-08-09 15:31 ` [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 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 15/60] trace: introduce a formal group name for trace events Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 16/60] trace: introduce ID range offsets per trace-events file Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 17/60] trace: introduce some Makefile rules for module code gen Daniel P. Berrange
2016-08-10 14:18 ` Lluís Vilanova
2016-08-10 14:48 ` Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 18/60] trace: switch io/ directory to modular trace.h file Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 19/60] trace: switch util/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 20/60] trace: switch crypto/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 21/60] trace: switch migration/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 22/60] trace: switch block/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 23/60] trace: switch hw/block/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 24/60] trace: switch hw/char/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 25/60] trace: switch hw/intc/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 26/60] trace: switch hw/net/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 27/60] trace: switch hw/virtio/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 28/60] trace: switch hw/audio/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 29/60] trace: switch hw/misc/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 30/60] trace: switch hw/usb/ " Daniel P. Berrange
2016-08-09 15:31 ` [Qemu-devel] [PATCH for-2.8 v1 31/60] trace: switch hw/scsi/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 32/60] trace: switch hw/nvram/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 33/60] trace: switch hw/display/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 34/60] trace: switch hw/input/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 35/60] trace: switch hw/timer/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 36/60] trace: switch hw/dma/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 37/60] trace: switch hw/sparc/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 38/60] trace: switch hw/sd/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 39/60] trace: switch hw/isa/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 40/60] trace: switch hw/mem/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 41/60] trace: switch hw/i386/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 42/60] trace: switch hw/9pfs/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 43/60] trace: switch hw/ppc/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 44/60] trace: switch hw/pci/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 45/60] trace: switch hw/s390x/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 46/60] trace: switch hw/vfio/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 47/60] trace: switch hw/acpi/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 48/60] trace: switch hw/arm/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 49/60] trace: switch hw/alpha/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 50/60] trace: switch ui/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 51/60] trace: switch audio/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 52/60] trace: switch net/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 53/60] trace: switch target-i386/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 54/60] trace: switch target-sparc/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 55/60] trace: switch target-s390x/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 56/60] trace: switch target-ppc/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 57/60] trace: switch qom/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 58/60] trace: switch linux-user/ " Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 59/60] trace: remove the global include/trace.h file Daniel P. Berrange
2016-08-09 15:32 ` [Qemu-devel] [PATCH for-2.8 v1 60/60] trace: update docs to reflect new code generation approach Daniel P. Berrange
2016-08-10 14:33 ` Lluís Vilanova
2016-08-10 14:51 ` Daniel P. Berrange [this message]
2016-08-10 16:11 ` Lluís Vilanova
2016-08-11 8:13 ` Daniel P. Berrange
2016-08-11 10:11 ` Lluís Vilanova
2016-09-02 21:24 ` Stefan Hajnoczi
2016-09-14 12:34 ` Daniel P. Berrange
2016-08-09 17:03 ` [Qemu-devel] [PATCH for-2.8 v1 00/60] Modular build of trace event files no-reply
2016-08-09 17:11 ` Daniel P. Berrange
2016-08-10 1:41 ` Fam Zheng
2016-08-10 8:06 ` Daniel P. Berrange
2016-08-10 8:13 ` Fam Zheng
2016-08-10 8:24 ` Daniel P. Berrange
2016-08-10 8:39 ` Fam Zheng
2016-08-10 8:50 ` Daniel P. Berrange
2016-08-10 15:54 ` Paolo Bonzini
2016-08-10 1:58 ` Fam Zheng
2016-08-10 14:05 ` Lluís Vilanova
2016-08-10 14:52 ` Daniel P. Berrange
2016-09-08 13:23 ` Lluís Vilanova
2016-09-08 13:43 ` Daniel P. Berrange
2016-09-09 11:03 ` Lluís Vilanova
2016-09-09 12:08 ` Daniel P. Berrange
2016-09-09 13:16 ` Lluís Vilanova
2016-09-13 17:53 ` Daniel P. Berrange
2016-09-14 13:20 ` Lluís Vilanova
2016-09-13 17:08 ` Daniel P. Berrange
2016-09-13 18:36 ` Lluís Vilanova
2016-09-14 8:25 ` Daniel P. Berrange
2016-09-14 13:26 ` Lluís Vilanova
2016-09-13 14:54 ` Stefan Hajnoczi
2016-09-13 15:10 ` Daniel P. Berrange
2016-09-13 16:05 ` Lluís Vilanova
2016-09-13 16:27 ` Daniel P. Berrange
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=20160810145125.GP13393@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.