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. Changed in v4: - Fix commit message in first patch - Re-add -I$(@D) to include path Changed in v3: - 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 | 30 ++++-- 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, 398 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 -- 2.9.3