qemu-devel
[Top][All Lists]
Advanced

[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>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]