From: "Denis V. Lunev" <den@openvz.org>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 00/11] simplify usage of tracepoints, and connect them to logging
Date: Thu, 7 Jan 2016 13:35:49 +0300 [thread overview]
Message-ID: <568E3F85.9050603@openvz.org> (raw)
In-Reply-To: <20160107095856.GA17701@stefanha-x1.localdomain>
On 01/07/2016 12:58 PM, Stefan Hajnoczi wrote:
> On Thu, Oct 29, 2015 at 11:44:06PM +0300, Denis V. Lunev wrote:
>> 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%)
> Hi Denis,
> I have pasted the issues that Peter Maydell hit during QEMU 2.5 below.
> Please rebase this series onto
> https://github.com/stefanha/qemu/commits/tracing-pull-request
> (cef517ca4bf890ef5405aac1b95f75dcda043d6a)
>
> I'll rerun the Windows build on the next revision to make sure the
> warnings have been fixed.
>
> Thanks,
> Stefan
> ---
>
> 1.
> Fails to build on all platforms :-(
>
> /home/petmay01/linaro/qemu-for-merges/target-arm/translate-a64.c: In
> function ‘gen_intermediate_code_a64’:
> /home/petmay01/linaro/qemu-for-merges/target-arm/translate-a64.c:11229:9:
> error: implicit declaration of function ‘lookup_symbol’
> [-Werror=implicit-function-declaration]
> qemu_log("IN: %s\n", lookup_symbol(pc_start));
> ^
> /home/petmay01/linaro/qemu-for-merges/target-arm/translate-a64.c:11229:9:
> error: nested extern declaration of ‘lookup_symbol’
> [-Werror=nested-externs]
> /home/petmay01/linaro/qemu-for-merges/target-arm/translate-a64.c:11229:9:
> error: format ‘%s’ expects argument of type ‘char *’, but argument 2
> has type ‘int’ [-Werror=format=]
> /home/petmay01/linaro/qemu-for-merges/target-arm/translate-a64.c:11230:9:
> error: implicit declaration of function ‘log_target_disas’
> [-Werror=implicit-function-declaration]
> log_target_disas(cs, pc_start, dc->pc - pc_start,
> ^
> /home/petmay01/linaro/qemu-for-merges/target-arm/translate-a64.c:11230:9:
> error: nested extern declaration of ‘log_target_disas’
> [-Werror=nested-externs]
> cc1: all warnings being treated as errors
>
> 2.
> w32 fails to build with the same 'ssize_t vs signed size_t for %zd'
> thing that hit somebody else's changes earlier this week:
>
> In file included from /home/petmay01/linaro/qemu-for-merges/include/trace.h:4,
> from
> /home/petmay01/linaro/qemu-for-merges/util/oslib-win32.c:38:
> ./trace/generated-tracers.h: In function ‘trace_virtio_console_flush_buf’:
> ./trace/generated-tracers.h:240: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 8 has type ‘ssize_t’
> CC util/bitops.o
> ./trace/generated-tracers.h: In function ‘trace_usb_ohci_iso_td_so’:
> ./trace/generated-tracers.h:2784: warning: format ‘%zu’ expects type
> ‘size_t’, but argument 11 has type ‘ssize_t’
> ./trace/generated-tracers.h: In function ‘trace_usb_ohci_iso_td_data_overrun’:
> ./trace/generated-tracers.h:2796: warning: format ‘%zu’ expects type
> ‘size_t’, but argument 7 has type ‘ssize_t’
> CC util/hbitmap.o
> CC util/fifo8.o
> ./trace/generated-tracers.h: In function ‘trace_spice_vmc_write’:
> ./trace/generated-tracers.h:6492: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 6 has type ‘ssize_t’
> CC util/acl.o
> CC util/error.o
> ./trace/generated-tracers.h: In function ‘trace_v9fs_read_return’:
> ./trace/generated-tracers.h:10344: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 9 has type ‘ssize_t’
> ./trace/generated-tracers.h: In function ‘trace_v9fs_readdir_return’:
> ./trace/generated-tracers.h:10368: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 9 has type ‘ssize_t’
> ./trace/generated-tracers.h: In function ‘trace_v9fs_write_return’:
> ./trace/generated-tracers.h:10392: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 9 has type ‘ssize_t’
> CC util/qemu-error.o
> CC util/id.o
> CC util/iov.o
> cc1: warnings being treated as errors
> In file included from /home/petmay01/linaro/qemu-for-merges/include/trace.h:4,
> from /home/petmay01/linaro/qemu-for-merges/util/hbitmap.c:18:
> ./trace/generated-tracers.h: In function ‘trace_virtio_console_flush_buf’:
> ./trace/generated-tracers.h:240: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 8 has type ‘ssize_t’
> CC util/qemu-config.o
> ./trace/generated-tracers.h: In function ‘trace_usb_ohci_iso_td_so’:
> ./trace/generated-tracers.h:2784: warning: format ‘%zu’ expects type
> ‘size_t’, but argument 11 has type ‘ssize_t’
> ./trace/generated-tracers.h: In function ‘trace_usb_ohci_iso_td_data_overrun’:
> ./trace/generated-tracers.h:2796: warning: format ‘%zu’ expects type
> ‘size_t’, but argument 7 has type ‘ssize_t’
> make: *** [util/oslib-win32.o] Error 1
> make: *** Waiting for unfinished jobs....
> ./trace/generated-tracers.h: In function ‘trace_spice_vmc_write’:
> ./trace/generated-tracers.h:6492: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 6 has type ‘ssize_t’
> ./trace/generated-tracers.h: In function ‘trace_v9fs_read_return’:
> ./trace/generated-tracers.h:10344: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 9 has type ‘ssize_t’
> ./trace/generated-tracers.h: In function ‘trace_v9fs_readdir_return’:
> ./trace/generated-tracers.h:10368: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 9 has type ‘ssize_t’
> ./trace/generated-tracers.h: In function ‘trace_v9fs_write_return’:
> ./trace/generated-tracers.h:10392: warning: format ‘%zd’ expects type
> ‘signed size_t’, but argument 9 has type ‘ssize_t’
> make: *** [util/hbitmap.o] Error 1
> make: Leaving directory `/home/petmay01/linaro/qemu-for-merges/build/w32'
>
> 3.
> I also now get a handful of extra warnings in the 'make check' output:
>
> /aarch64/qom/xilinx-zynq-a9: OK
> /aarch64/qom/xlnx-ep108:
> WARNING: RAM size 8000000 is small for EP108OK
> /aarch64/qom/vexpress-a9: OK
>
> (note the missing newline...)
>
> TEST: tests/qom-test... (pid=19738)
> /microblaze/qom/none: OK
> /microblaze/qom/petalogix-s3adsp1800:
> Invalid MicroBlaze version number: (null)
> OK
> /microblaze/qom/petalogix-ml605:
> Invalid MicroBlaze version number: (null)
> OK
got this
next prev parent reply other threads:[~2016-01-07 10:36 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-29 20:44 [Qemu-devel] [PATCH v3 00/11] simplify usage of tracepoints, and connect them to logging Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 01/11] trace: fix documentation Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 02/11] trace: split trace_init_events out of trace_init_backends Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 03/11] trace: split trace_init_file " Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 04/11] trace: no need to call trace_backend_init in different branches now Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 05/11] trace: add "-trace enable=..." Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 06/11] trace: add "-trace help" Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 07/11] log: do not unnecessarily include qom/cpu.h Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 08/11] log: move qemu-log.c into util/ directory Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 09/11] trace: convert stderr backend to log Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 10/11] trace: switch default backend to "log" Denis V. Lunev
2015-10-29 20:44 ` [Qemu-devel] [PATCH 11/11] log: add "-d trace:PATTERN" Denis V. Lunev
2015-11-03 11:39 ` [Qemu-devel] [PATCH v3 00/11] simplify usage of tracepoints, and connect them to logging Denis V. Lunev
2015-11-03 15:33 ` Stefan Hajnoczi
2015-11-03 17:10 ` Stefan Hajnoczi
2015-11-03 17:33 ` Paolo Bonzini
2015-11-03 17:42 ` Denis V. Lunev
2015-11-03 17:50 ` Paolo Bonzini
2015-11-03 18:03 ` Denis V. Lunev
2016-01-07 9:58 ` Stefan Hajnoczi
2016-01-07 10:35 ` Denis V. Lunev [this message]
2016-01-07 12:40 ` Denis V. Lunev
2016-01-07 14:08 ` Edgar E. Iglesias
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=568E3F85.9050603@openvz.org \
--to=den@openvz.org \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
/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 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.