From: Stefan Hajnoczi <stefanha@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, "Lluís Vilanova" <vilanova@ac.upc.edu>,
"Paolo Bonzini" <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v3 0/8] Switch all subdirs over to modular trace.h file
Date: Wed, 25 Jan 2017 14:42:28 +0000 [thread overview]
Message-ID: <20170125144228.GQ10664@stefanha-x1.localdomain> (raw)
In-Reply-To: <20170124110151.937-1-berrange@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 5288 bytes --]
On Tue, Jan 24, 2017 at 11:01:43AM +0000, Daniel P. Berrange wrote:
> This is the final part of my trace events refactoring.
>
> Previously we merged code that split trace-events up
> into one file per sub-directory. We also merged code
> to the code-generator that enables us to generate
> and use multiple independant sets of trace events.
>
> This is the final glue that makes use of these two
> earlier changes, so that we actually generate a
> separate trace.h & trace.c file per sub-directory.
>
> The result is that when adding a new trace event to
> a file, only files in that sub-directory get rebuilt.
> Theoretically the build is faster too, since each
> source file includes a much smaller trace.h that
> only contains probes relevant to it. In reality this
> speed benefit is probably marginal & lost in the noise.
>
> This patch series has massively changed since v2.
>
> - It no longer modifies the Makefile.objs rules in each
> sub-directory. A bit of magic in the top level
> Makefile.objs file lets us generate all the needed
> rules from one place
>
> - It sticks with bare "trace.h" includes instead of adding
> sub-dir prefix "hw/block/trace.h". To achieve this we
> had to rename the trace.h to trace-root.h in the top
> level directory to avoid ambiguity in places where a
> file needs to include the top-level instead of local
> trace.h
>
> Daniel P. Berrange (8):
> make: move top level dir to end of include search path
> trace: move hw/block/dataplane events to correct subdir
> trace: move hw/xen events to correct subdir
> trace: move hw/i386/xen events to correct subdir
> trace: move setting of group name into Makefiles
> trace: switch to modular code generation for sub-directories
> trace: update docs to reflect new code generation approach
> trace: improve error reporting when parsing simpletrace header
>
> .gitignore | 22 +++--
> Makefile | 156 ++++++++++++++++++++++++++----
> Makefile.objs | 99 ++++++++++---------
> Makefile.target | 10 +-
> aio-posix.c | 2 +-
> balloon.c | 2 +-
> block.c | 2 +-
> blockdev-nbd.c | 1 -
> blockdev.c | 2 +-
> blockjob.c | 1 -
> cpu-exec.c | 2 +-
> dma-helpers.c | 2 +-
> docs/tracing.txt | 55 ++++++++---
> exec.c | 2 +-
> hw/block/dataplane/trace-events | 6 ++
> hw/block/trace-events | 5 -
> hw/i386/trace-events | 7 --
> hw/i386/xen/trace-events | 6 ++
> hw/net/fsl_etsec/etsec.c | 1 -
> hw/xen/trace-events | 13 +++
> include/exec/cpu_ldst_template.h | 2 +-
> include/exec/cpu_ldst_useronly_template.h | 2 +-
> include/hw/xen/xen_common.h | 2 +-
> include/trace.h | 6 --
> ioport.c | 2 +-
> kvm-all.c | 2 +-
> memory.c | 2 +-
> monitor.c | 2 +-
> qom/cpu.c | 2 +-
> rules.mak | 17 ++--
> scripts/simpletrace.py | 10 +-
> scripts/tracetool.py | 31 +++---
> scripts/tracetool/backend/dtrace.py | 7 +-
> scripts/tracetool/backend/simple.py | 1 -
> scripts/tracetool/backend/ust.py | 7 +-
> scripts/tracetool/format/c.py | 7 +-
> scripts/tracetool/format/tcg_h.py | 6 +-
> scripts/tracetool/format/tcg_helper_c.py | 6 +-
> scripts/tracetool/format/ust_events_c.py | 2 +-
> scripts/tracetool/format/ust_events_h.py | 7 +-
> spice-qemu-char.c | 2 +-
> tests/Makefile.include | 2 +-
> thread-pool.c | 2 +-
> trace-events | 10 --
> trace/Makefile.objs | 93 ++----------------
> trace/control-target.c | 2 +-
> trace/control.c | 2 +-
> trace/ftrace.c | 2 +-
> trace/simple.c | 1 -
> translate-all.c | 2 +-
> vl.c | 2 +-
> xen-hvm.c | 2 +-
> xen-mapcache.c | 2 +-
> 53 files changed, 385 insertions(+), 258 deletions(-)
> create mode 100644 hw/block/dataplane/trace-events
> create mode 100644 hw/i386/xen/trace-events
> create mode 100644 hw/xen/trace-events
> delete mode 100644 include/trace.h
Looks good, I hope to merge v4. Thanks for investigating all the
Makefile cruft needed to simplify this.
Stefan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]
prev parent reply other threads:[~2017-01-25 14:42 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-24 11:01 [Qemu-devel] [PATCH v3 0/8] Switch all subdirs over to modular trace.h file Daniel P. Berrange
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 1/8] make: move top level dir to end of include search path Daniel P. Berrange
2017-01-24 20:11 ` Eric Blake
2017-01-25 10:56 ` Daniel P. Berrange
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 2/8] trace: move hw/block/dataplane events to correct subdir Daniel P. Berrange
2017-01-25 13:43 ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 3/8] trace: move hw/xen " Daniel P. Berrange
2017-01-25 13:43 ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 4/8] trace: move hw/i386/xen " Daniel P. Berrange
2017-01-25 13:43 ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 5/8] trace: move setting of group name into Makefiles Daniel P. Berrange
2017-01-25 14:03 ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 6/8] trace: switch to modular code generation for sub-directories Daniel P. Berrange
2017-01-24 18:53 ` Lluís Vilanova
2017-01-25 16:08 ` Daniel P. Berrange
2017-01-25 14:38 ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 7/8] trace: update docs to reflect new code generation approach Daniel P. Berrange
2017-01-25 14:41 ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 8/8] trace: improve error reporting when parsing simpletrace header Daniel P. Berrange
2017-01-25 14:41 ` Stefan Hajnoczi
2017-01-25 14:42 ` Stefan Hajnoczi [this message]
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=20170125144228.GQ10664@stefanha-x1.localdomain \
--to=stefanha@redhat.com \
--cc=berrange@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=vilanova@ac.upc.edu \
/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).