[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 0/8] Switch all subdirs over to modular trace
From: |
Stefan Hajnoczi |
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 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
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
signature.asc
Description: PGP signature
- [Qemu-devel] [PATCH v3 8/8] trace: improve error reporting when parsing simpletrace header, (continued)