qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, "Lluís Vilanova" <vilanova@ac.upc.edu>,
	"Paolo Bonzini" <pbonzini@redhat.com>
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	[thread overview]
Message-ID: <20170125144228.GQ10664@stefanha-x1.localdomain> (raw)
In-Reply-To: <20170124110151.937-1-berrange@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 5288 bytes --]

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]

      parent reply	other threads:[~2017-01-25 14:42 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-24 11:01 [Qemu-devel] [PATCH v3 0/8] Switch all subdirs over to modular trace.h file Daniel P. Berrange
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 1/8] make: move top level dir to end of include search path Daniel P. Berrange
2017-01-24 20:11   ` Eric Blake
2017-01-25 10:56     ` Daniel P. Berrange
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 2/8] trace: move hw/block/dataplane events to correct subdir Daniel P. Berrange
2017-01-25 13:43   ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 3/8] trace: move hw/xen " Daniel P. Berrange
2017-01-25 13:43   ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 4/8] trace: move hw/i386/xen " Daniel P. Berrange
2017-01-25 13:43   ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 5/8] trace: move setting of group name into Makefiles Daniel P. Berrange
2017-01-25 14:03   ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 6/8] trace: switch to modular code generation for sub-directories Daniel P. Berrange
2017-01-24 18:53   ` Lluís Vilanova
2017-01-25 16:08     ` Daniel P. Berrange
2017-01-25 14:38   ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 7/8] trace: update docs to reflect new code generation approach Daniel P. Berrange
2017-01-25 14:41   ` Stefan Hajnoczi
2017-01-24 11:01 ` [Qemu-devel] [PATCH v3 8/8] trace: improve error reporting when parsing simpletrace header Daniel P. Berrange
2017-01-25 14:41   ` Stefan Hajnoczi
2017-01-25 14:42 ` Stefan Hajnoczi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170125144228.GQ10664@stefanha-x1.localdomain \
    --to=stefanha@redhat.com \
    --cc=berrange@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vilanova@ac.upc.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).