[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 07/29] trace: Do not include qom/cpu.h into g
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v2 07/29] trace: Do not include qom/cpu.h into generated trace.h |
Date: |
Wed, 7 Aug 2019 10:32:22 +0100 |
User-agent: |
Mutt/1.12.0 (2019-05-25) |
On Tue, Aug 06, 2019 at 05:14:13PM +0200, Markus Armbruster wrote:
> docs/devel/tracing.txt explains "since many source files include
> trace.h, [the generated trace.h use] a minimum of types and other
> header files included to keep the namespace clean and compile times
> and dependencies down."
>
> Commit 4815185902 "trace: Add per-vCPU tracing states for events with
> the 'vcpu' property" made them all include qom/cpu.h via
> control-internal.h. qom/cpu.h in turn includes about thirty headers.
> Ouch.
>
> Per-vCPU tracing is currently not supported in sub-directories'
> trace-events. In other words, qom/cpu.h can only be used in
> trace-root.h, not in any trace.h.
>
> Split trace/control-vcpu.h off trace/control.h and
> trace/control-internal.h. Have the generated trace.h include
> trace/control.h (which no longer includes qom/cpu.h), and trace-root.h
> include trace/control-vcpu.h (which includes it).
>
> The resulting improvement is a bit disappointing: in my "build
> everything" tree, some 1100 out of 6600 objects (not counting tests
> and objects that don't depend on qemu/osdep.h) depend on a trace.h,
> and about 600 of them no longer depend on qom/cpu.h. But more than
> 1300 others depend on trace-root.h. More work is clearly needed.
> Left for another day.
>
> Cc: Stefan Hajnoczi <address@hidden>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> block/block-backend.c | 1 +
> qom/object.c | 1 +
> scripts/tracetool/format/c.py | 1 +
> scripts/tracetool/format/h.py | 7 +++-
> trace/control-internal.h | 25 --------------
> trace/control-vcpu.h | 63 +++++++++++++++++++++++++++++++++++
> trace/control.h | 24 -------------
> trace/qmp.c | 2 +-
> ui/vnc.c | 1 +
> 9 files changed, 74 insertions(+), 51 deletions(-)
> create mode 100644 trace/control-vcpu.h
Reviewed-by: Stefan Hajnoczi <address@hidden>
- Re: [Qemu-devel] [PATCH v2 01/29] include: Make headers more self-contained, (continued)
- [Qemu-devel] [PATCH v2 25/29] numa: Move remaining NUMA declarations from sysemu.h to numa.h, Markus Armbruster, 2019/08/06
- [Qemu-devel] [PATCH v2 07/29] trace: Do not include qom/cpu.h into generated trace.h, Markus Armbruster, 2019/08/06
- Re: [Qemu-devel] [PATCH v2 07/29] trace: Do not include qom/cpu.h into generated trace.h,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH v2 17/29] Include qom/object.h slightly less, Markus Armbruster, 2019/08/06
- [Qemu-devel] [PATCH v2 16/29] Include exec/memory.h slightly less, Markus Armbruster, 2019/08/06
[Qemu-devel] [PATCH v2 23/29] numa: Don't include hw/boards.h into sysemu/numa.h, Markus Armbruster, 2019/08/06
[Qemu-devel] [PATCH v2 24/29] Include sysemu/hostmem.h less, Markus Armbruster, 2019/08/06
[Qemu-devel] [PATCH v2 06/29] trace: Eliminate use of TARGET_FMT_plx, Markus Armbruster, 2019/08/06