[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] trace: fix simple trace "disable" keyword
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH] trace: fix simple trace "disable" keyword |
Date: |
Thu, 16 Jan 2014 14:24:20 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Wed, Jan 15, 2014 at 11:24:07AM +0800, Stefan Hajnoczi wrote:
> The trace-events "disable" keyword turns an event into a nop at
> compile-time. This is important for high-frequency events that can
> impact performance.
>
> The "disable" keyword is currently broken in the simple trace backend.
> This patch fixes the problem as follows:
>
> Trace events are identified by their TraceEventID number. When events
> are disabled there are two options for assigning TraceEventID numbers:
> 1. Skip disabled events and don't assign them a number.
> 2. Assign numbers for all events regardless of the disabled keyword.
>
> The simple trace backend and its binary file format uses approach #1.
>
> The tracetool infrastructure has been using approach #2 for a while.
>
> The result is that the numbers used in simple trace files do not
> correspond with TraceEventIDs. In trace/simple.c we assumed that they
> are identical and therefore emitted bogus numbers.
>
> This patch fixes the bug by using TraceEventID for trace_event_id()
> while sticking to approach #1 for simple trace file numbers. This
> preserves simple trace file format compatibility.
>
> Signed-off-by: Stefan Hajnoczi <address@hidden>
> ---
> scripts/tracetool/backend/simple.py | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
Applied to my tracing tree:
https://github.com/stefanha/qemu/commits/tracing
I applied this fairly quickly, so feel free to speak up if you have any
code review feedback. I can still drop it from the tracing queue before
sending the next pull request.
Stefan