All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/11] simplify usage of tracepoints, and connect them to logging
@ 2015-10-26  9:10 Denis V. Lunev
  2015-10-26  9:10 ` [Qemu-devel] [PATCH 01/11] trace: fix documentation Denis V. Lunev
                   ` (10 more replies)
  0 siblings, 11 replies; 27+ messages in thread
From: Denis V. Lunev @ 2015-10-26  9:10 UTC (permalink / raw)
  Cc: peter.maydell, qemu-devel, armbru, stefanha, Denis V. Lunev,
	pbonzini

This series does three things:

1) add a "-trace [enable=]foo" option to enable one or more trace
events, and a "-trace help" option to show the list of tracepoints
(patches 4-5)

2) change the stderr tracing backend so that it prints to the
-D log file, and enable it by default.  "-trace file=..." is
now a synonym of -D if the log backend is enabled (patches 7-8)

3) add a "-d trace:foo" option that is a synonym for "-trace foo";
this makes the new functionality more discoverable to people used
to "-d", makes it available for user-mode emulation (which does
not have -trace), and is somewhat nice if you want to enable both
tracepoints and some other "-d" flag (patch 9).  When globbing
it is also less susceptible to unwanted shell expansion.

For example, you can trace block device I/O and save the result
to a file just by adding "-trace bdrv_aio_*,file=trace.txt", or
correlate it to guest PCs with "-d exec,nochain,trace:bdrv_aio_*".

Opinions?  I would like to have this in 2.5 if there is agreement.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>

Changes from v1:
- small cleanup to vl.c is added as patch (4)
- compilation is fixed in patch (2)
- moved qemu-log.c to util/log.c to fix linking of qemu-io/qemu-nbd

Denis V. Lunev (2):
  trace: no need to call trace_backend_init in different branches now
  log: move qemu-log.c into util/ directory

Paolo Bonzini (9):
  trace: fix documentation
  trace: split trace_init_events out of trace_init_backends
  trace: split trace_init_file out of trace_init_backends
  trace: add "-trace enable=..."
  trace: add "-trace help"
  log: do not unnecessarily include qom/cpu.h
  trace: convert stderr backend to log
  trace: switch default backend to "log"
  log: add "-d trace:PATTERN"

 Makefile.objs                                   |  1 -
 bsd-user/main.c                                 |  1 +
 configure                                       |  6 +-
 cpu-exec.c                                      |  1 +
 exec.c                                          |  1 +
 hw/acpi/cpu_hotplug.c                           |  1 +
 hw/timer/a9gtimer.c                             |  1 +
 include/exec/log.h                              | 60 ++++++++++++++++
 include/qemu/log.h                              | 60 +---------------
 linux-user/main.c                               |  1 +
 qemu-io.c                                       |  2 +-
 qemu-options.hx                                 | 22 ++++--
 qom/cpu.c                                       |  1 +
 scripts/tracetool/backend/{stderr.py => log.py} |  9 +--
 target-alpha/translate.c                        |  1 +
 target-arm/translate.c                          |  1 +
 target-cris/translate.c                         |  1 +
 target-i386/seg_helper.c                        |  1 +
 target-i386/smm_helper.c                        |  1 +
 target-i386/translate.c                         |  1 +
 target-lm32/helper.c                            |  1 +
 target-lm32/translate.c                         |  1 +
 target-m68k/translate.c                         |  1 +
 target-microblaze/helper.c                      |  1 +
 target-microblaze/translate.c                   |  1 +
 target-mips/helper.c                            |  1 +
 target-mips/translate.c                         |  1 +
 target-moxie/translate.c                        |  1 +
 target-openrisc/translate.c                     |  1 +
 target-ppc/mmu-hash32.c                         |  1 +
 target-ppc/mmu-hash64.c                         |  1 +
 target-ppc/mmu_helper.c                         |  1 +
 target-ppc/translate.c                          |  1 +
 target-s390x/translate.c                        |  1 +
 target-sh4/helper.c                             |  1 +
 target-sh4/translate.c                          |  1 +
 target-sparc/int32_helper.c                     |  1 +
 target-sparc/int64_helper.c                     |  1 +
 target-sparc/translate.c                        |  1 +
 target-tilegx/translate.c                       |  1 +
 target-tricore/translate.c                      |  1 +
 target-unicore32/translate.c                    |  1 +
 target-xtensa/translate.c                       |  1 +
 tcg/tcg.c                                       |  1 +
 trace/control.c                                 | 95 ++++++++++++++++++-------
 trace/control.h                                 | 42 ++++++++++-
 trace/simple.c                                  |  6 +-
 trace/simple.h                                  |  4 +-
 translate-all.c                                 |  1 +
 util/Makefile.objs                              |  1 +
 qemu-log.c => util/log.c                        | 19 ++++-
 vl.c                                            | 38 +++++-----
 52 files changed, 274 insertions(+), 129 deletions(-)
 create mode 100644 include/exec/log.h
 rename scripts/tracetool/backend/{stderr.py => log.py} (78%)
 rename qemu-log.c => util/log.c (90%)

-- 
2.1.4

^ permalink raw reply	[flat|nested] 27+ messages in thread
* [Qemu-devel] [PATCH v3 00/11] simplify usage of tracepoints, and connect them to logging
@ 2015-10-29 20:44 Denis V. Lunev
  2015-10-29 20:44 ` [Qemu-devel] [PATCH 08/11] log: move qemu-log.c into util/ directory Denis V. Lunev
  0 siblings, 1 reply; 27+ messages in thread
From: Denis V. Lunev @ 2015-10-29 20:44 UTC (permalink / raw)
  Cc: Denis V. Lunev, qemu-devel, Paolo Bonzini

This series does three things:

1) add a "-trace [enable=]foo" option to enable one or more trace
events, and a "-trace help" option to show the list of tracepoints
(patches 4-5)

2) change the stderr tracing backend so that it prints to the
-D log file, and enable it by default.  "-trace file=..." is
now a synonym of -D if the log backend is enabled (patches 7-8)

3) add a "-d trace:foo" option that is a synonym for "-trace foo";
this makes the new functionality more discoverable to people used
to "-d", makes it available for user-mode emulation (which does
not have -trace), and is somewhat nice if you want to enable both
tracepoints and some other "-d" flag (patch 9).  When globbing
it is also less susceptible to unwanted shell expansion.

For example, you can trace block device I/O and save the result
to a file just by adding "-trace bdrv_aio_*,file=trace.txt", or
correlate it to guest PCs with "-d exec,nochain,trace:bdrv_aio_*".

Opinions?  I would like to have this in 2.5 if there is agreement.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>

Changes from v2:
- compilation fix was extended to patch 2 and 3
- replaced Reviewed-by with Acked-by by request from Christian

Changes from v1:
- small cleanup to vl.c is added as patch (4)
- compilation is fixed in patch (2)
- moved qemu-log.c to util/log.c to fix linking of qemu-io/qemu-nbd

Denis V. Lunev (2):
  trace: no need to call trace_backend_init in different branches now
  log: move qemu-log.c into util/ directory

Paolo Bonzini (9):
  trace: fix documentation
  trace: split trace_init_events out of trace_init_backends
  trace: split trace_init_file out of trace_init_backends
  trace: add "-trace enable=..."
  trace: add "-trace help"
  log: do not unnecessarily include qom/cpu.h
  trace: convert stderr backend to log
  trace: switch default backend to "log"
  log: add "-d trace:PATTERN"

 Makefile.objs                                   |  1 -
 bsd-user/main.c                                 |  1 +
 configure                                       |  6 +-
 cpu-exec.c                                      |  1 +
 exec.c                                          |  1 +
 hw/acpi/cpu_hotplug.c                           |  1 +
 hw/timer/a9gtimer.c                             |  1 +
 include/exec/log.h                              | 60 ++++++++++++++++
 include/qemu/log.h                              | 60 +---------------
 linux-user/main.c                               |  1 +
 qemu-io.c                                       |  2 +-
 qemu-options.hx                                 | 22 ++++--
 qom/cpu.c                                       |  1 +
 scripts/tracetool/backend/{stderr.py => log.py} |  9 +--
 target-alpha/translate.c                        |  1 +
 target-arm/translate.c                          |  1 +
 target-cris/translate.c                         |  1 +
 target-i386/seg_helper.c                        |  1 +
 target-i386/smm_helper.c                        |  1 +
 target-i386/translate.c                         |  1 +
 target-lm32/helper.c                            |  1 +
 target-lm32/translate.c                         |  1 +
 target-m68k/translate.c                         |  1 +
 target-microblaze/helper.c                      |  1 +
 target-microblaze/translate.c                   |  1 +
 target-mips/helper.c                            |  1 +
 target-mips/translate.c                         |  1 +
 target-moxie/translate.c                        |  1 +
 target-openrisc/translate.c                     |  1 +
 target-ppc/mmu-hash32.c                         |  1 +
 target-ppc/mmu-hash64.c                         |  1 +
 target-ppc/mmu_helper.c                         |  1 +
 target-ppc/translate.c                          |  1 +
 target-s390x/translate.c                        |  1 +
 target-sh4/helper.c                             |  1 +
 target-sh4/translate.c                          |  1 +
 target-sparc/int32_helper.c                     |  1 +
 target-sparc/int64_helper.c                     |  1 +
 target-sparc/translate.c                        |  1 +
 target-tilegx/translate.c                       |  1 +
 target-tricore/translate.c                      |  1 +
 target-unicore32/translate.c                    |  1 +
 target-xtensa/translate.c                       |  1 +
 tcg/tcg.c                                       |  1 +
 trace/control.c                                 | 95 ++++++++++++++++++-------
 trace/control.h                                 | 42 ++++++++++-
 trace/simple.c                                  |  6 +-
 trace/simple.h                                  |  4 +-
 translate-all.c                                 |  1 +
 util/Makefile.objs                              |  1 +
 qemu-log.c => util/log.c                        | 19 ++++-
 vl.c                                            | 38 +++++-----
 52 files changed, 274 insertions(+), 129 deletions(-)
 create mode 100644 include/exec/log.h
 rename scripts/tracetool/backend/{stderr.py => log.py} (78%)
 rename qemu-log.c => util/log.c (90%)

-- 
2.1.4

^ permalink raw reply	[flat|nested] 27+ messages in thread
* [Qemu-devel] [PATCH v4 00/11] simplify usage of tracepoints, and connect them to logging
@ 2016-01-07 13:55 Denis V. Lunev
  2016-01-07 13:55 ` [Qemu-devel] [PATCH 08/11] log: move qemu-log.c into util/ directory Denis V. Lunev
  0 siblings, 1 reply; 27+ messages in thread
From: Denis V. Lunev @ 2016-01-07 13:55 UTC (permalink / raw)
  Cc: pbonzini, qemu-devel, stefanha, Denis V. Lunev

This series does three things:

1) add a "-trace [enable=]foo" option to enable one or more trace
events, and a "-trace help" option to show the list of tracepoints
(patches 4-5)

2) change the stderr tracing backend so that it prints to the
-D log file, and enable it by default.  "-trace file=..." is
now a synonym of -D if the log backend is enabled (patches 7-8)

3) add a "-d trace:foo" option that is a synonym for "-trace foo";
this makes the new functionality more discoverable to people used
to "-d", makes it available for user-mode emulation (which does
not have -trace), and is somewhat nice if you want to enable both
tracepoints and some other "-d" flag (patch 9).  When globbing
it is also less susceptible to unwanted shell expansion.

For example, you can trace block device I/O and save the result
to a file just by adding "-trace bdrv_aio_*,file=trace.txt", or
correlate it to guest PCs with "-d exec,nochain,trace:bdrv_aio_*".

Opinions?  I would like to have this in 2.5 if there is agreement.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>

Changes from v3:
- fixed compilation of target-arm/translate-a64.c (patch 7)
- this warning is not observed in my environment
      /aarch64/qom/xlnx-ep108:
    WARNING: RAM size 8000000 is small for EP108OK
- this warning after patch 10 is seen
      /microblaze/qom/petalogix-s3adsp1800:
    Invalid MicroBlaze version number: (null)
    OK
  though the problem is here even before any patch of the set. It is
  just hidden as log is not enabled
- no problem for Win32 compilation with
    COLLECT_GCC=x86_64-w64-mingw32-gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/lto-wrapper
    Target: x86_64-w64-mingw32
    Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr --includedir='/usr/include' --mandir='/usr/share/man' --infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libexecdir='/usr/lib/gcc-mingw-w64' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --enable-shared --enable-static --disable-multilib --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes --with-tune=generic --enable-version-specific-runtime-libs --enable-fully-dynamic-string --enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++ --enable-lto --with-plugin-ld --enable-threads=win32 --program-suffix=-win32 --program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32 --with-as=/usr/bin/x86_64-w64-mingw32-as --with-ld=/usr/bin/x86_64-w64-mingw32-ld
    Thread model: win32
    gcc version 4.9.2 (GCC)

Changes from v2:
- compilation fix was extended to patch 2 and 3
- replaced Reviewed-by with Acked-by by request from Christian

Changes from v1:
- small cleanup to vl.c is added as patch (4)
- compilation is fixed in patch (2)
- moved qemu-log.c to util/log.c to fix linking of qemu-io/qemu-nbd

Denis V. Lunev (2):
  trace: no need to call trace_backend_init in different branches now
  log: move qemu-log.c into util/ directory

Paolo Bonzini (9):
  trace: fix documentation
  trace: split trace_init_events out of trace_init_backends
  trace: split trace_init_file out of trace_init_backends
  trace: add "-trace enable=..."
  trace: add "-trace help"
  log: do not unnecessarily include qom/cpu.h
  trace: convert stderr backend to log
  trace: switch default backend to "log"
  log: add "-d trace:PATTERN"

 Makefile.objs                                   |  1 -
 bsd-user/main.c                                 |  1 +
 configure                                       |  6 +-
 cpu-exec.c                                      |  1 +
 exec.c                                          |  1 +
 hw/acpi/cpu_hotplug.c                           |  1 +
 hw/timer/a9gtimer.c                             |  1 +
 include/exec/log.h                              | 60 ++++++++++++++++
 include/qemu/log.h                              | 60 +---------------
 linux-user/main.c                               |  1 +
 qemu-io.c                                       |  2 +-
 qemu-options.hx                                 | 22 ++++--
 qom/cpu.c                                       |  1 +
 scripts/tracetool/backend/{stderr.py => log.py} |  9 +--
 target-alpha/translate.c                        |  1 +
 target-arm/translate-a64.c                      |  1 +
 target-arm/translate.c                          |  1 +
 target-cris/translate.c                         |  1 +
 target-i386/seg_helper.c                        |  1 +
 target-i386/smm_helper.c                        |  1 +
 target-i386/translate.c                         |  1 +
 target-lm32/helper.c                            |  1 +
 target-lm32/translate.c                         |  1 +
 target-m68k/translate.c                         |  1 +
 target-microblaze/helper.c                      |  1 +
 target-microblaze/translate.c                   |  1 +
 target-mips/helper.c                            |  1 +
 target-mips/translate.c                         |  1 +
 target-moxie/translate.c                        |  1 +
 target-openrisc/translate.c                     |  1 +
 target-ppc/mmu-hash32.c                         |  1 +
 target-ppc/mmu-hash64.c                         |  1 +
 target-ppc/mmu_helper.c                         |  1 +
 target-ppc/translate.c                          |  1 +
 target-s390x/translate.c                        |  1 +
 target-sh4/helper.c                             |  1 +
 target-sh4/translate.c                          |  1 +
 target-sparc/int32_helper.c                     |  1 +
 target-sparc/int64_helper.c                     |  1 +
 target-sparc/translate.c                        |  1 +
 target-tilegx/translate.c                       |  1 +
 target-tricore/translate.c                      |  1 +
 target-unicore32/translate.c                    |  1 +
 target-xtensa/translate.c                       |  1 +
 tcg/tcg.c                                       |  1 +
 trace/control.c                                 | 95 ++++++++++++++++++-------
 trace/control.h                                 | 42 ++++++++++-
 trace/simple.c                                  |  6 +-
 trace/simple.h                                  |  4 +-
 translate-all.c                                 |  1 +
 util/Makefile.objs                              |  1 +
 qemu-log.c => util/log.c                        | 19 ++++-
 vl.c                                            | 38 +++++-----
 53 files changed, 275 insertions(+), 129 deletions(-)
 create mode 100644 include/exec/log.h
 rename scripts/tracetool/backend/{stderr.py => log.py} (78%)
 rename qemu-log.c => util/log.c (90%)

-- 
2.5.0

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2016-01-07 13:55 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-26  9:10 [Qemu-devel] [PATCH v2 00/11] simplify usage of tracepoints, and connect them to logging Denis V. Lunev
2015-10-26  9:10 ` [Qemu-devel] [PATCH 01/11] trace: fix documentation Denis V. Lunev
2015-10-26 20:05   ` Christian Borntraeger
2015-10-28 15:15     ` Denis V. Lunev
2015-10-29 14:24       ` Christian Borntraeger
2015-10-29 17:18       ` Stefan Hajnoczi
2015-10-26  9:10 ` [Qemu-devel] [PATCH 02/11] trace: split trace_init_events out of trace_init_backends Denis V. Lunev
2015-10-26  9:10 ` [Qemu-devel] [PATCH 03/11] trace: split trace_init_file " Denis V. Lunev
2015-10-29 17:23   ` Stefan Hajnoczi
2015-10-29 17:52     ` Denis V. Lunev
2015-10-26  9:10 ` [Qemu-devel] [PATCH 04/11] trace: no need to call trace_backend_init in different branches now Denis V. Lunev
2015-10-26 17:18   ` Paolo Bonzini
2015-10-26  9:10 ` [Qemu-devel] [PATCH 05/11] trace: add "-trace enable=..." Denis V. Lunev
2015-10-26  9:10 ` [Qemu-devel] [PATCH 06/11] trace: add "-trace help" Denis V. Lunev
2015-10-26  9:10 ` [Qemu-devel] [PATCH 07/11] log: do not unnecessarily include qom/cpu.h Denis V. Lunev
2015-10-26  9:10 ` [Qemu-devel] [PATCH 08/11] log: move qemu-log.c into util/ directory Denis V. Lunev
2015-10-26 17:20   ` Paolo Bonzini
2015-10-26 18:24     ` Denis V. Lunev
2015-10-26  9:10 ` [Qemu-devel] [PATCH 09/11] trace: convert stderr backend to log Denis V. Lunev
2015-10-26  9:14 ` [Qemu-devel] [PATCH 10/11] trace: switch default backend to "log" Denis V. Lunev
2015-10-26  9:14   ` [Qemu-devel] [PATCH 11/11] log: add "-d trace:PATTERN" Denis V. Lunev
2015-10-26 13:12     ` Lluís Vilanova
2015-10-26 17:07       ` Eric Blake
2015-10-26 19:23         ` Lluís Vilanova
2015-10-29 17:38 ` [Qemu-devel] [PATCH v2 00/11] simplify usage of tracepoints, and connect them to logging Stefan Hajnoczi
  -- strict thread matches above, loose matches on Subject: below --
2015-10-29 20:44 [Qemu-devel] [PATCH v3 " Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 08/11] log: move qemu-log.c into util/ directory Denis V. Lunev
2016-01-07 13:55 [Qemu-devel] [PATCH v4 00/11] simplify usage of tracepoints, and connect them to logging Denis V. Lunev
2016-01-07 13:55 ` [Qemu-devel] [PATCH 08/11] log: move qemu-log.c into util/ directory Denis V. Lunev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.