Patchwork [3/6] trace-state: always use the "nop" backend on events with the "disable" keyword

login
register
mail settings
Submitter =?utf-8?Q?Llu=C3=ADs?=
Date April 4, 2011, 9:49 p.m.
Message ID <20110404214920.9761.92467.stgit@ginnungagap.bsc.es>
Download mbox | patch
Permalink /patch/89715/
State New
Headers show

Comments

=?utf-8?Q?Llu=C3=ADs?= - April 4, 2011, 9:49 p.m.
Any event with the keyword/property "disable" generates an empty trace event
using the "nop" backend, regardless of the current backend.

Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
---
 docs/tracing.txt  |    3 +++
 scripts/tracetool |   15 ++-------------
 2 files changed, 5 insertions(+), 13 deletions(-)
Stefan Hajnoczi - April 6, 2011, 11:04 a.m.
On Mon, Apr 4, 2011 at 10:49 PM, Lluís <xscript@gmx.net> wrote:
> Any event with the keyword/property "disable" generates an empty trace event
> using the "nop" backend, regardless of the current backend.
>
> Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
> ---
>  docs/tracing.txt  |    3 +++
>  scripts/tracetool |   15 ++-------------
>  2 files changed, 5 insertions(+), 13 deletions(-)
>
> diff --git a/docs/tracing.txt b/docs/tracing.txt
> index 5dbd3c0..49e030e 100644
> --- a/docs/tracing.txt
> +++ b/docs/tracing.txt
> @@ -126,6 +126,9 @@ The "nop" backend generates empty trace event functions so that the compiler
>  can optimize out trace events completely.  This is the default and imposes no
>  performance penalty.
>
> +Note that regardless of the selected trace backend, events with the "disable"
> +property will be generated with the "nop" backend.
> +
>  === Stderr ===
>
>  The "stderr" backend sends trace events directly to standard error.  This

Please also fix up docs/tracing.txt:
2. Enable trace events you are interested in:

    $EDITOR trace-events  # remove "disable" from events you want

The comment is now obsolete.

Stefan

Patch

diff --git a/docs/tracing.txt b/docs/tracing.txt
index 5dbd3c0..49e030e 100644
--- a/docs/tracing.txt
+++ b/docs/tracing.txt
@@ -126,6 +126,9 @@  The "nop" backend generates empty trace event functions so that the compiler
 can optimize out trace events completely.  This is the default and imposes no
 performance penalty.
 
+Note that regardless of the selected trace backend, events with the "disable"
+property will be generated with the "nop" backend.
+
 === Stderr ===
 
 The "stderr" backend sends trace events directly to standard error.  This
diff --git a/scripts/tracetool b/scripts/tracetool
index 6d8ead2..7506776 100755
--- a/scripts/tracetool
+++ b/scripts/tracetool
@@ -506,21 +506,10 @@  convert()
         # Skip comments and empty lines
         test -z "${str%%#*}" && continue
 
+        echo
         # Process the line.  The nop backend handles disabled lines.
-        disable="0"
         if has_property "$str" "disable"; then
-            disable="1"
-        fi
-        echo
-        if [ "$disable" = "1" ]; then
-            # Pass the disabled state as an arg for the simple
-            # or DTrace backends which handle it dynamically.
-            # For all other backends, call lineto$1_nop()
-            if [ $backend = "simple" -o "$backend" = "dtrace" ]; then
-                "$process_line" "$str"
-            else
-                "lineto$1_nop" "${str##disable }"
-            fi
+            "lineto$1_nop" "$str"
         else
             "$process_line" "$str"
         fi