[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: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH v2 07/29] trace: Do not include qom/cpu.h into generated trace.h |
Date: |
Wed, 7 Aug 2019 12:30:15 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
On 8/7/19 11:32 AM, Stefan Hajnoczi wrote:
> 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>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
[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