* [Qemu-devel] [PULL 0/6] Tracing patches @ 2011-04-26 12:25 Stefan Hajnoczi 2011-04-26 12:25 ` [Qemu-devel] [PATCH 1/6] tracetool: allow ) in trace output string Stefan Hajnoczi ` (6 more replies) 0 siblings, 7 replies; 10+ messages in thread From: Stefan Hajnoczi @ 2011-04-26 12:25 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel The following changes since commit b0b36e5d2e4c8a96c2f6dbc0981a9fd0cde111d8: doc: fix slirp description (2011-04-25 23:10:04 +0200) are available in the git repository at: git://repo.or.cz/qemu/stefanha.git tracing Lluís (3): docs/tracing.txt: minor documentation fixes trace: [ust] fix generation of 'trace.c' on events without args trace: [trace-events] fix print formats in some events Paolo Bonzini (1): tracetool: allow ) in trace output string Stefan Hajnoczi (2): trace: Remove %s in grlib trace events docs: Trace events must not expect pointer dereferencing docs/tracing.txt | 23 ++++++++++++++--------- hw/grlib_apbuart.c | 2 +- hw/grlib_gptimer.c | 29 ++++++++++++++--------------- hw/grlib_irqmp.c | 4 ++-- scripts/tracetool | 9 +++++---- trace-events | 14 +++++++------- 6 files changed, 43 insertions(+), 38 deletions(-) ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 1/6] tracetool: allow ) in trace output string 2011-04-26 12:25 [Qemu-devel] [PULL 0/6] Tracing patches Stefan Hajnoczi @ 2011-04-26 12:25 ` Stefan Hajnoczi 2011-04-26 12:25 ` [Qemu-devel] [PATCH 2/6] trace: Remove %s in grlib trace events Stefan Hajnoczi ` (5 subsequent siblings) 6 siblings, 0 replies; 10+ messages in thread From: Stefan Hajnoczi @ 2011-04-26 12:25 UTC (permalink / raw) To: Anthony Liguori; +Cc: Paolo Bonzini, qemu-devel, Stefan Hajnoczi From: Paolo Bonzini <pbonzini@redhat.com> Be greedy in matching the trailing "\)*" pattern. Otherwise, all the text in the trace string up to the last closed parenthesis is taken as part of the prototype. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> --- scripts/tracetool | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/scripts/tracetool b/scripts/tracetool index 412f695..9912f36 100755 --- a/scripts/tracetool +++ b/scripts/tracetool @@ -51,7 +51,7 @@ get_args() { local args args=${1#*\(} - args=${args%\)*} + args=${args%%\)*} echo "$args" } -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 2/6] trace: Remove %s in grlib trace events 2011-04-26 12:25 [Qemu-devel] [PULL 0/6] Tracing patches Stefan Hajnoczi 2011-04-26 12:25 ` [Qemu-devel] [PATCH 1/6] tracetool: allow ) in trace output string Stefan Hajnoczi @ 2011-04-26 12:25 ` Stefan Hajnoczi 2011-04-26 12:26 ` [Qemu-devel] [PATCH 3/6] docs: Trace events must not expect pointer dereferencing Stefan Hajnoczi ` (4 subsequent siblings) 6 siblings, 0 replies; 10+ messages in thread From: Stefan Hajnoczi @ 2011-04-26 12:25 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel, Stefan Hajnoczi Trace events cannot use %s in their format strings because trace backends vary in how they can deference pointers (if at all). Recording const char * values is not meaningful if their contents are not recorded too. Change grlib trace events that rely on strings so that they communicate similar information without using strings. A follow-up patch explains this limitation and updates docs/tracing.txt. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> --- hw/grlib_apbuart.c | 2 +- hw/grlib_gptimer.c | 29 ++++++++++++++--------------- hw/grlib_irqmp.c | 4 ++-- trace-events | 10 +++++----- 4 files changed, 22 insertions(+), 23 deletions(-) diff --git a/hw/grlib_apbuart.c b/hw/grlib_apbuart.c index 101b150..169a56e 100644 --- a/hw/grlib_apbuart.c +++ b/hw/grlib_apbuart.c @@ -133,7 +133,7 @@ grlib_apbuart_writel(void *opaque, target_phys_addr_t addr, uint32_t value) break; } - trace_grlib_apbuart_unknown_register("write", addr); + trace_grlib_apbuart_writel_unknown(addr, value); } static CPUReadMemoryFunc * const grlib_apbuart_read[] = { diff --git a/hw/grlib_gptimer.c b/hw/grlib_gptimer.c index 596a900..99e9033 100644 --- a/hw/grlib_gptimer.c +++ b/hw/grlib_gptimer.c @@ -165,15 +165,15 @@ static uint32_t grlib_gptimer_readl(void *opaque, target_phys_addr_t addr) /* Unit registers */ switch (addr) { case SCALER_OFFSET: - trace_grlib_gptimer_readl(-1, "scaler:", unit->scaler); + trace_grlib_gptimer_readl(-1, addr, unit->scaler); return unit->scaler; case SCALER_RELOAD_OFFSET: - trace_grlib_gptimer_readl(-1, "reload:", unit->reload); + trace_grlib_gptimer_readl(-1, addr, unit->reload); return unit->reload; case CONFIG_OFFSET: - trace_grlib_gptimer_readl(-1, "config:", unit->config); + trace_grlib_gptimer_readl(-1, addr, unit->config); return unit->config; default: @@ -189,17 +189,16 @@ static uint32_t grlib_gptimer_readl(void *opaque, target_phys_addr_t addr) switch (timer_addr) { case COUNTER_OFFSET: value = ptimer_get_count(unit->timers[id].ptimer); - trace_grlib_gptimer_readl(id, "counter value:", value); + trace_grlib_gptimer_readl(id, addr, value); return value; case COUNTER_RELOAD_OFFSET: value = unit->timers[id].reload; - trace_grlib_gptimer_readl(id, "reload value:", value); + trace_grlib_gptimer_readl(id, addr, value); return value; case CONFIG_OFFSET: - trace_grlib_gptimer_readl(id, "scaler value:", - unit->timers[id].config); + trace_grlib_gptimer_readl(id, addr, unit->timers[id].config); return unit->timers[id].config; default: @@ -208,7 +207,7 @@ static uint32_t grlib_gptimer_readl(void *opaque, target_phys_addr_t addr) } - trace_grlib_gptimer_unknown_register("read", addr); + trace_grlib_gptimer_readl(-1, addr, 0); return 0; } @@ -226,19 +225,19 @@ grlib_gptimer_writel(void *opaque, target_phys_addr_t addr, uint32_t value) case SCALER_OFFSET: value &= 0xFFFF; /* clean up the value */ unit->scaler = value; - trace_grlib_gptimer_writel(-1, "scaler:", unit->scaler); + trace_grlib_gptimer_writel(-1, addr, unit->scaler); return; case SCALER_RELOAD_OFFSET: value &= 0xFFFF; /* clean up the value */ unit->reload = value; - trace_grlib_gptimer_writel(-1, "reload:", unit->reload); + trace_grlib_gptimer_writel(-1, addr, unit->reload); grlib_gptimer_set_scaler(unit, value); return; case CONFIG_OFFSET: /* Read Only (disable timer freeze not supported) */ - trace_grlib_gptimer_writel(-1, "config (Read Only):", 0); + trace_grlib_gptimer_writel(-1, addr, 0); return; default: @@ -253,18 +252,18 @@ grlib_gptimer_writel(void *opaque, target_phys_addr_t addr, uint32_t value) /* GPTimer registers */ switch (timer_addr) { case COUNTER_OFFSET: - trace_grlib_gptimer_writel(id, "counter:", value); + trace_grlib_gptimer_writel(id, addr, value); unit->timers[id].counter = value; grlib_gptimer_enable(&unit->timers[id]); return; case COUNTER_RELOAD_OFFSET: - trace_grlib_gptimer_writel(id, "reload:", value); + trace_grlib_gptimer_writel(id, addr, value); unit->timers[id].reload = value; return; case CONFIG_OFFSET: - trace_grlib_gptimer_writel(id, "config:", value); + trace_grlib_gptimer_writel(id, addr, value); if (value & GPTIMER_INT_PENDING) { /* clear pending bit */ @@ -297,7 +296,7 @@ grlib_gptimer_writel(void *opaque, target_phys_addr_t addr, uint32_t value) } - trace_grlib_gptimer_unknown_register("write", addr); + trace_grlib_gptimer_writel(-1, addr, value); } static CPUReadMemoryFunc * const grlib_gptimer_read[] = { diff --git a/hw/grlib_irqmp.c b/hw/grlib_irqmp.c index f47c491..b8738fc 100644 --- a/hw/grlib_irqmp.c +++ b/hw/grlib_irqmp.c @@ -220,7 +220,7 @@ static uint32_t grlib_irqmp_readl(void *opaque, target_phys_addr_t addr) return state->extended[cpu]; } - trace_grlib_irqmp_unknown_register("read", addr); + trace_grlib_irqmp_readl_unknown(addr); return 0; } @@ -308,7 +308,7 @@ grlib_irqmp_writel(void *opaque, target_phys_addr_t addr, uint32_t value) return; } - trace_grlib_irqmp_unknown_register("write", addr); + trace_grlib_irqmp_writel_unknown(addr, value); } static CPUReadMemoryFunc * const grlib_irqmp_read[] = { diff --git a/trace-events b/trace-events index 703b745..8272c86 100644 --- a/trace-events +++ b/trace-events @@ -235,19 +235,19 @@ disable grlib_gptimer_disabled(int id, uint32_t config) "timer:%d Timer disable disable grlib_gptimer_restart(int id, uint32_t reload) "timer:%d reload val: 0x%x" disable grlib_gptimer_set_scaler(uint32_t scaler, uint32_t freq) "scaler:0x%x freq: 0x%x" disable grlib_gptimer_hit(int id) "timer:%d HIT" -disable grlib_gptimer_readl(int id, const char *s, uint32_t val) "timer:%d %s 0x%x" -disable grlib_gptimer_writel(int id, const char *s, uint32_t val) "timer:%d %s 0x%x" -disable grlib_gptimer_unknown_register(const char *op, uint64_t val) "%s unknown register 0x%"PRIx64"" +disable grlib_gptimer_readl(int id, uint64_t addr, uint32_t val) "timer:%d addr 0x%"PRIx64" 0x%x" +disable grlib_gptimer_writel(int id, uint64_t addr, uint32_t val) "timer:%d addr 0x%"PRIx64" 0x%x" # hw/grlib_irqmp.c disable grlib_irqmp_check_irqs(uint32_t pend, uint32_t force, uint32_t mask, uint32_t lvl1, uint32_t lvl2) "pend:0x%04x force:0x%04x mask:0x%04x lvl1:0x%04x lvl0:0x%04x\n" disable grlib_irqmp_ack(int intno) "interrupt:%d" disable grlib_irqmp_set_irq(int irq) "Raise CPU IRQ %d" -disable grlib_irqmp_unknown_register(const char *op, uint64_t val) "%s unknown register 0x%"PRIx64"" +disable grlib_irqmp_readl_unknown(uint64_t addr) "addr 0x%"PRIx64"" +disable grlib_irqmp_writel_unknown(uint64_t addr, uint32_t value) "addr 0x%"PRIx64" value 0x%x" # hw/grlib_apbuart.c disable grlib_apbuart_event(int event) "event:%d" -disable grlib_apbuart_unknown_register(const char *op, uint64_t val) "%s unknown register 0x%"PRIx64"" +disable grlib_apbuart_writel_unknown(uint64_t addr, uint32_t value) "addr 0x%"PRIx64" value 0x%x" # hw/leon3.c disable leon3_set_irq(int intno) "Set CPU IRQ %d" -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 3/6] docs: Trace events must not expect pointer dereferencing 2011-04-26 12:25 [Qemu-devel] [PULL 0/6] Tracing patches Stefan Hajnoczi 2011-04-26 12:25 ` [Qemu-devel] [PATCH 1/6] tracetool: allow ) in trace output string Stefan Hajnoczi 2011-04-26 12:25 ` [Qemu-devel] [PATCH 2/6] trace: Remove %s in grlib trace events Stefan Hajnoczi @ 2011-04-26 12:26 ` Stefan Hajnoczi 2011-04-26 12:26 ` [Qemu-devel] [PATCH 4/6] docs/tracing.txt: minor documentation fixes Stefan Hajnoczi ` (3 subsequent siblings) 6 siblings, 0 replies; 10+ messages in thread From: Stefan Hajnoczi @ 2011-04-26 12:26 UTC (permalink / raw) To: Anthony Liguori; +Cc: qemu-devel, Stefan Hajnoczi Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> --- docs/tracing.txt | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/docs/tracing.txt b/docs/tracing.txt index f15069c..905a083 100644 --- a/docs/tracing.txt +++ b/docs/tracing.txt @@ -69,6 +69,11 @@ Trace events should use types as follows: cannot include all user-defined struct declarations and it is therefore necessary to use void * for pointers to structs. + Pointers (including char *) cannot be dereferenced easily (or at all) in + some trace backends. If pointers are used, ensure they are meaningful by + themselves and do not assume the data they point to will be traced. Do + not pass in string arguments. + * For everything else, use primitive scalar types (char, int, long) with the appropriate signedness. -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 4/6] docs/tracing.txt: minor documentation fixes 2011-04-26 12:25 [Qemu-devel] [PULL 0/6] Tracing patches Stefan Hajnoczi ` (2 preceding siblings ...) 2011-04-26 12:26 ` [Qemu-devel] [PATCH 3/6] docs: Trace events must not expect pointer dereferencing Stefan Hajnoczi @ 2011-04-26 12:26 ` Stefan Hajnoczi 2011-04-26 20:46 ` Brad Hards 2011-04-26 12:26 ` [Qemu-devel] [PATCH 5/6] trace: [ust] fix generation of 'trace.c' on events without args Stefan Hajnoczi ` (2 subsequent siblings) 6 siblings, 1 reply; 10+ messages in thread From: Stefan Hajnoczi @ 2011-04-26 12:26 UTC (permalink / raw) To: Anthony Liguori Cc: Lluís Vilanova, qemu-devel, Stefan Hajnoczi, Lluís From: Lluís <xscript@gmx.net> Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> --- docs/tracing.txt | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/tracing.txt b/docs/tracing.txt index 905a083..c99a0f2 100644 --- a/docs/tracing.txt +++ b/docs/tracing.txt @@ -26,14 +26,14 @@ for debugging, profiling, and observing execution. == Trace events == -There is a set of static trace events declared in the trace-events source +There is a set of static trace events declared in the "trace-events" source file. Each trace event declaration names the event, its arguments, and the format string which can be used for pretty-printing: qemu_malloc(size_t size, void *ptr) "size %zu ptr %p" qemu_free(void *ptr) "ptr %p" -The trace-events file is processed by the tracetool script during build to +The "trace-events" file is processed by the "tracetool" script during build to generate code for the trace events. Trace events are invoked directly from source code like this: @@ -52,10 +52,10 @@ source code like this: === Declaring trace events === -The tracetool script produces the trace.h header file which is included by +The "tracetool" script produces the trace.h header file which is included by every source file that uses trace events. Since many source files include -trace.h, it uses a minimum of types and other header files included to keep -the namespace clean and compile times and dependencies down. +trace.h, it uses a minimum of types and other header files included to keep the +namespace clean and compile times and dependencies down. Trace events should use types as follows: @@ -110,10 +110,10 @@ portability macros, ensure they are preceded and followed by double quotes: == Trace backends == -The tracetool script automates tedious trace event code generation and also +The "tracetool" script automates tedious trace event code generation and also keeps the trace event declarations independent of the trace backend. The trace events are not tightly coupled to a specific trace backend, such as LTTng or -SystemTap. Support for trace backends can be added by extending the tracetool +SystemTap. Support for trace backends can be added by extending the "tracetool" script. The trace backend is chosen at configure time and only one trace backend can @@ -181,12 +181,12 @@ events at runtime inside QEMU: ==== Analyzing trace files ==== The "simple" backend produces binary trace files that can be formatted with the -simpletrace.py script. The script takes the trace-events file and the binary +simpletrace.py script. The script takes the "trace-events" file and the binary trace: ./simpletrace.py trace-events trace-12345 -You must ensure that the same trace-events file was used to build QEMU, +You must ensure that the same "trace-events" file was used to build QEMU, otherwise trace event declarations may have changed and output will not be consistent. -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH 4/6] docs/tracing.txt: minor documentation fixes 2011-04-26 12:26 ` [Qemu-devel] [PATCH 4/6] docs/tracing.txt: minor documentation fixes Stefan Hajnoczi @ 2011-04-26 20:46 ` Brad Hards 2011-04-26 21:00 ` [Qemu-devel] " Mike D. Day 0 siblings, 1 reply; 10+ messages in thread From: Brad Hards @ 2011-04-26 20:46 UTC (permalink / raw) To: qemu-devel; +Cc: Lluís, Stefan Hajnoczi, Lluís Vilanova On Tue, 26 Apr 2011 10:26:01 pm Stefan Hajnoczi wrote: > -There is a set of static trace events declared in the trace-events source > +There is a set of static trace events declared in the "trace-events" > source Would it read better if it said "There are a set..." (i.e. "are" instead of "is")? Brad ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] docs/tracing.txt: minor documentation fixes 2011-04-26 20:46 ` Brad Hards @ 2011-04-26 21:00 ` Mike D. Day 0 siblings, 0 replies; 10+ messages in thread From: Mike D. Day @ 2011-04-26 21:00 UTC (permalink / raw) To: Brad Hards; +Cc: Llu??s Vilanova, qemu-devel, Stefan Hajnoczi, Llu??s On 27/04/11 06:46 +1000, Brad Hards wrote: > On Tue, 26 Apr 2011 10:26:01 pm Stefan Hajnoczi wrote: > > -There is a set of static trace events declared in the trace-events source > > +There is a set of static trace events declared in the "trace-events" > > source > Would it read better if it said "There are a set..." (i.e. "are" instead of > "is")? I belive it's correct: there is a set. The alternative would be "there are static trace events." Mike -- Mike Day | ultra@ncultra.org | "Endurance is a Virtue" ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 5/6] trace: [ust] fix generation of 'trace.c' on events without args 2011-04-26 12:25 [Qemu-devel] [PULL 0/6] Tracing patches Stefan Hajnoczi ` (3 preceding siblings ...) 2011-04-26 12:26 ` [Qemu-devel] [PATCH 4/6] docs/tracing.txt: minor documentation fixes Stefan Hajnoczi @ 2011-04-26 12:26 ` Stefan Hajnoczi 2011-04-26 12:26 ` [Qemu-devel] [PATCH 6/6] trace: [trace-events] fix print formats in some events Stefan Hajnoczi 2011-04-26 13:19 ` [Qemu-devel] [PULL 0/6] Tracing patches Anthony Liguori 6 siblings, 0 replies; 10+ messages in thread From: Stefan Hajnoczi @ 2011-04-26 12:26 UTC (permalink / raw) To: Anthony Liguori Cc: Lluís Vilanova, qemu-devel, Stefan Hajnoczi, Lluís From: Lluís <xscript@gmx.net> Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> --- scripts/tracetool | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/tracetool b/scripts/tracetool index 9912f36..2155a57 100755 --- a/scripts/tracetool +++ b/scripts/tracetool @@ -338,6 +338,7 @@ linetoc_ust() name=$(get_name "$1") args=$(get_args "$1") argnames=$(get_argnames "$1", ",") + [ -z "$argnames" ] || argnames=", $argnames" fmt=$(get_fmt "$1") cat <<EOF @@ -345,7 +346,7 @@ DEFINE_TRACE(ust_$name); static void ust_${name}_probe($args) { - trace_mark(ust, $name, "$fmt", $argnames); + trace_mark(ust, $name, "$fmt"$argnames); } EOF @@ -488,7 +489,7 @@ EOF cat <<EOF $arg = \$arg$i; EOF - i="$((i+1))" + i="$((i+1))" done cat <<EOF @@ -585,7 +586,7 @@ tracetostap() exit 1 fi if [ -z "$probeprefix" ]; then - probeprefix="qemu.$targettype.$targetarch"; + probeprefix="qemu.$targettype.$targetarch"; fi echo "/* This file is autogenerated by tracetool, do not edit. */" convert stap -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Qemu-devel] [PATCH 6/6] trace: [trace-events] fix print formats in some events 2011-04-26 12:25 [Qemu-devel] [PULL 0/6] Tracing patches Stefan Hajnoczi ` (4 preceding siblings ...) 2011-04-26 12:26 ` [Qemu-devel] [PATCH 5/6] trace: [ust] fix generation of 'trace.c' on events without args Stefan Hajnoczi @ 2011-04-26 12:26 ` Stefan Hajnoczi 2011-04-26 13:19 ` [Qemu-devel] [PULL 0/6] Tracing patches Anthony Liguori 6 siblings, 0 replies; 10+ messages in thread From: Stefan Hajnoczi @ 2011-04-26 12:26 UTC (permalink / raw) To: Anthony Liguori Cc: Lluís Vilanova, qemu-devel, Stefan Hajnoczi, Lluís From: Lluís <xscript@gmx.net> Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> --- trace-events | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/trace-events b/trace-events index 8272c86..77c96a5 100644 --- a/trace-events +++ b/trace-events @@ -254,8 +254,8 @@ disable leon3_set_irq(int intno) "Set CPU IRQ %d" disable leon3_reset_irq(int intno) "Reset CPU IRQ %d" # spice-qemu-char.c -disable spice_vmc_write(ssize_t out, int len) "spice wrottn %lu of requested %zd" -disable spice_vmc_read(int bytes, int len) "spice read %lu of requested %zd" +disable spice_vmc_write(ssize_t out, int len) "spice wrottn %zd of requested %d" +disable spice_vmc_read(int bytes, int len) "spice read %d of requested %d" disable spice_vmc_register_interface(void *scd) "spice vmc registered interface %p" disable spice_vmc_unregister_interface(void *scd) "spice vmc unregistered interface %p" -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PULL 0/6] Tracing patches 2011-04-26 12:25 [Qemu-devel] [PULL 0/6] Tracing patches Stefan Hajnoczi ` (5 preceding siblings ...) 2011-04-26 12:26 ` [Qemu-devel] [PATCH 6/6] trace: [trace-events] fix print formats in some events Stefan Hajnoczi @ 2011-04-26 13:19 ` Anthony Liguori 6 siblings, 0 replies; 10+ messages in thread From: Anthony Liguori @ 2011-04-26 13:19 UTC (permalink / raw) To: Stefan Hajnoczi; +Cc: qemu-devel On 04/26/2011 07:25 AM, Stefan Hajnoczi wrote: > The following changes since commit b0b36e5d2e4c8a96c2f6dbc0981a9fd0cde111d8: > > doc: fix slirp description (2011-04-25 23:10:04 +0200) > > are available in the git repository at: > git://repo.or.cz/qemu/stefanha.git tracing Pulled. Thanks. Regards, Anthony Liguori > > Lluís (3): > docs/tracing.txt: minor documentation fixes > trace: [ust] fix generation of 'trace.c' on events without args > trace: [trace-events] fix print formats in some events > > Paolo Bonzini (1): > tracetool: allow ) in trace output string > > Stefan Hajnoczi (2): > trace: Remove %s in grlib trace events > docs: Trace events must not expect pointer dereferencing > > docs/tracing.txt | 23 ++++++++++++++--------- > hw/grlib_apbuart.c | 2 +- > hw/grlib_gptimer.c | 29 ++++++++++++++--------------- > hw/grlib_irqmp.c | 4 ++-- > scripts/tracetool | 9 +++++---- > trace-events | 14 +++++++------- > 6 files changed, 43 insertions(+), 38 deletions(-) > ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2011-04-26 21:00 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-04-26 12:25 [Qemu-devel] [PULL 0/6] Tracing patches Stefan Hajnoczi 2011-04-26 12:25 ` [Qemu-devel] [PATCH 1/6] tracetool: allow ) in trace output string Stefan Hajnoczi 2011-04-26 12:25 ` [Qemu-devel] [PATCH 2/6] trace: Remove %s in grlib trace events Stefan Hajnoczi 2011-04-26 12:26 ` [Qemu-devel] [PATCH 3/6] docs: Trace events must not expect pointer dereferencing Stefan Hajnoczi 2011-04-26 12:26 ` [Qemu-devel] [PATCH 4/6] docs/tracing.txt: minor documentation fixes Stefan Hajnoczi 2011-04-26 20:46 ` Brad Hards 2011-04-26 21:00 ` [Qemu-devel] " Mike D. Day 2011-04-26 12:26 ` [Qemu-devel] [PATCH 5/6] trace: [ust] fix generation of 'trace.c' on events without args Stefan Hajnoczi 2011-04-26 12:26 ` [Qemu-devel] [PATCH 6/6] trace: [trace-events] fix print formats in some events Stefan Hajnoczi 2011-04-26 13:19 ` [Qemu-devel] [PULL 0/6] Tracing patches Anthony Liguori
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).