qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 01/47] trace: introduce some Makefile rules for module code gen
Date: Fri, 6 Jan 2017 17:25:58 +0000	[thread overview]
Message-ID: <20170106172558.GX31112@redhat.com> (raw)
In-Reply-To: <878tqo2jgs.fsf@ac.upc.edu>

On Fri, Jan 06, 2017 at 06:20:51PM +0100, Lluís Vilanova wrote:
> Daniel P Berrange writes:
> 
> > Introduce rules that are able to generate trace.[ch] files
> > in every subdirectory which has a trace-events file.
> 
> > Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> > ---
> >  .gitignore                               |  6 +++
> >  Makefile                                 | 65 +++++++++++++++++++++++++++-----
> >  Makefile.objs                            |  5 +++
> >  Makefile.target                          |  7 +++-
> >  scripts/tracetool/backend/dtrace.py      |  7 +++-
> >  scripts/tracetool/backend/ust.py         |  7 +++-
> >  scripts/tracetool/format/ust_events_c.py |  2 +-
> >  scripts/tracetool/format/ust_events_h.py |  7 +++-
> >  tests/Makefile.include                   |  2 +-
> >  trace/Makefile.objs                      | 23 ++++++++---
> >  10 files changed, 109 insertions(+), 22 deletions(-)
> 
> > diff --git a/.gitignore b/.gitignore
> > index e43c304..fe6add3 100644
> > --- a/.gitignore
> > +++ b/.gitignore
> > @@ -111,3 +111,9 @@ tags
> >  TAGS
> >  docker-src.*
> >  *~
> > +trace.h
> > +trace.c
> > +trace-events-common
> > +trace-ust.h
> > +trace-dtrace.h
> > +trace-dtrace.dtrace
> > diff --git a/Makefile b/Makefile
> > index 214cbad..181802b 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -70,11 +70,53 @@ GENERATED_SOURCES += trace/generated-helpers.c
>  
> >  ifeq ($(findstring ust,$(TRACE_BACKENDS)),ust)
> >  GENERATED_HEADERS += trace/generated-ust-provider.h
> > +GENERATED_HEADERS += trace/generated-ust-provider-all.h
> >  GENERATED_SOURCES += trace/generated-ust.c
> >  endif
>  
> >  GENERATED_HEADERS += module_block.h
>  
> > +GENERATED_HEADERS += $(trace-events-subdirs:%=%/trace.h)
> > +GENERATED_SOURCES += $(trace-events-subdirs:%=%/trace.c)
> > +GENERATED_DTRACE =
> > +ifdef CONFIG_TRACE_DTRACE
> > +GENERATED_HEADERS += $(trace-events-subdirs:%=%/trace-dtrace.h)
> > +GENERATED_DTRACE += $(trace-events-subdirs:%=%/trace-dtrace.dtrace)
> > +endif
> > +ifdef CONFIG_TRACE_UST
> > +GENERATED_HEADERS += $(trace-events-subdirs:%=%/trace-ust.h)
> > +endif
> > +
> > +%/trace.h: $(SRC_PATH)/%/trace-events $(tracetool-y)
> > +	$(call quiet-command,$(TRACETOOL) \
> > +		--format=h \
> > +		--backends=$(TRACE_BACKENDS) \
> > +		$< > $@,"GEN","$@")
> > +
> > +%/trace.c: $(SRC_PATH)/%/trace-events $(tracetool-y)
> > +	$(call quiet-command,$(TRACETOOL) \
> > +		--format=c \
> > +		--backends=$(TRACE_BACKENDS) \
> > +		$< > $@,"GEN","$@")
> > +
> > +%/trace-ust.h: $(SRC_PATH)/%/trace-events $(tracetool-y)
> > +	$(call quiet-command,$(TRACETOOL) \
> > +		--format=ust-events-h \
> > +		--backends=$(TRACE_BACKENDS) \
> > +		$< > $@,"GEN","$@")
> 
> There's a discrepancy between generation in trace/Makefile.objs, where timestamp
> files are used to filter out internal changes in tracetool, and here.

I took the view that the timestamp comparisons are an uneccessary
complexity - we don't do that for other places where we generate
code from scripts.

> > diff --git a/scripts/tracetool/backend/dtrace.py b/scripts/tracetool/backend/dtrace.py
> > index 79505c6..1319990 100644
> > --- a/scripts/tracetool/backend/dtrace.py
> > +++ b/scripts/tracetool/backend/dtrace.py
> > @@ -36,7 +36,12 @@ def binary():
>  
>  
> >  def generate_h_begin(events, group):
> > -    out('#include "trace/generated-tracers-dtrace.h"',
> > +    if group == "common":
> > +        include = "trace/generated-tracers-dtrace.h"
> > +    else:
> > +        include = "trace-dtrace.h"
> > +
> > +    out('#include "%s"' % include,
> >          '')
> 
> Why is the top-level events file treated as a special case?

This is temporary until the end of the series when the special
cases go away


Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://entangle-photo.org       -o-    http://search.cpan.org/~danberr/ :|

  reply	other threads:[~2017-01-06 17:26 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-06 15:54 [Qemu-devel] [PATCH v2 00/47] Switch all subdirs over to modular trace.h file Daniel P. Berrange
2017-01-06 15:54 ` [Qemu-devel] [PATCH v2 01/47] trace: introduce some Makefile rules for module code gen Daniel P. Berrange
2017-01-06 17:20   ` Lluís Vilanova
2017-01-06 17:25     ` Daniel P. Berrange [this message]
2017-01-06 20:53       ` Lluís Vilanova
2017-01-06 15:54 ` [Qemu-devel] [PATCH v2 02/47] trace: switch io/ directory to modular trace.h file Daniel P. Berrange
2017-01-10 16:37   ` Stefan Hajnoczi
2017-01-10 16:51     ` Daniel P. Berrange
2017-01-10 17:45       ` Paolo Bonzini
2017-01-10 18:36         ` Daniel P. Berrange
2017-01-10 21:01           ` Paolo Bonzini
2017-01-11 10:28             ` Daniel P. Berrange
2017-01-11 10:34               ` Daniel P. Berrange
2017-01-11 10:50                 ` Paolo Bonzini
2017-01-10 16:51     ` Eric Blake
2017-01-10 17:47       ` Paolo Bonzini
2017-01-11 17:12       ` Stefan Hajnoczi
2017-01-11 17:16         ` Daniel P. Berrange
2017-01-11 17:34           ` Paolo Bonzini
2017-01-11 17:40             ` Daniel P. Berrange
2017-01-11 18:05               ` Paolo Bonzini
2017-01-12  1:02                 ` Lluís Vilanova
2017-01-12  8:48                   ` Paolo Bonzini
2017-01-12 14:29                     ` Lluís Vilanova
2017-01-12 14:30                     ` Daniel P. Berrange
2017-01-12  0:59               ` Lluís Vilanova
2017-01-10 16:38   ` Stefan Hajnoczi
2017-01-11 17:17     ` Daniel P. Berrange
2017-01-06 15:54 ` [Qemu-devel] [PATCH v2 03/47] trace: switch util/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 04/47] trace: switch crypto/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 05/47] trace: switch migration/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 06/47] trace: switch block/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 07/47] trace: switch hw/block/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 08/47] trace: switch hw/char/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 09/47] trace: switch hw/intc/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 10/47] trace: switch hw/net/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 11/47] trace: switch hw/virtio/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 12/47] trace: switch hw/audio/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 13/47] trace: switch hw/misc/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 14/47] trace: switch hw/usb/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 15/47] trace: switch hw/scsi/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 16/47] trace: switch hw/nvram/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 17/47] trace: switch hw/display/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 18/47] trace: switch hw/input/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 19/47] trace: switch hw/timer/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 20/47] trace: switch hw/dma/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 21/47] trace: switch hw/sparc/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 22/47] trace: switch hw/sd/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 23/47] trace: switch hw/isa/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 24/47] trace: switch hw/mem/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 25/47] trace: switch hw/i386/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 26/47] trace: switch hw/9pfs/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 27/47] trace: switch hw/ppc/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 28/47] trace: switch hw/pci/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 29/47] trace: switch hw/s390x/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 30/47] trace: switch hw/vfio/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 31/47] trace: switch hw/acpi/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 32/47] trace: switch hw/arm/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 33/47] trace: switch hw/alpha/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 34/47] trace: switch ui/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 35/47] trace: switch audio/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 36/47] trace: switch net/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 37/47] trace: switch target/arm/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 38/47] trace: switch target/i386/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 39/47] trace: switch target/sparc/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 40/47] trace: switch target/s390x/ " Daniel P. Berrange
2017-01-06 17:09   ` Lluís Vilanova
2017-01-06 17:18     ` Daniel P. Berrange
2017-01-06 20:45       ` Lluís Vilanova
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 41/47] trace: switch target/ppc/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 42/47] trace: switch qom/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 43/47] trace: switch linux-user/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 44/47] trace: switch qapi/ " Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 45/47] trace: remove the global include/trace.h file Daniel P. Berrange
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 46/47] trace: update docs to reflect new code generation approach Daniel P. Berrange
2017-01-06 17:26   ` Lluís Vilanova
2017-01-06 18:13   ` Eric Blake
2017-01-06 15:55 ` [Qemu-devel] [PATCH v2 47/47] trace: improve error reporting when parsing simpletrace header Daniel P. Berrange
2017-01-06 18:15   ` Eric Blake
2017-01-10 16:40   ` Stefan Hajnoczi
2017-01-06 16:05 ` [Qemu-devel] [PATCH v2 00/47] Switch all subdirs over to modular trace.h file Daniel P. Berrange
2017-01-06 17:02 ` no-reply
2017-01-06 17:23   ` 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=20170106172558.GX31112@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).