Sometimes it is useful to disable a trace event. Removing the event from trace-events is not enough since source code will call the trace_*() function for the event. This patch makes it easy to build without specific trace events by marking them disabled in trace-events: disable multiwrite_cb(void *mcb, int ret) "mcb %p ret %d" This builds without the multiwrite_cb trace event. Signed-off-by: Stefan Hajnoczi <stefanha@xxxxxxxxxxxxxxxxxx> --- v2: * This patch is new in v2 trace-events | 4 +++- tracetool | 10 ++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/trace-events b/trace-events index a37d3cc..5efaa86 100644 --- a/trace-events +++ b/trace-events @@ -12,10 +12,12 @@ # # Format of a trace event: # -# <name>(<type1> <arg1>[, <type2> <arg2>] ...) "<format-string>" +# [disable] <name>(<type1> <arg1>[, <type2> <arg2>] ...) "<format-string>" # # Example: qemu_malloc(size_t size) "size %zu" # +# The "disable" keyword will build without the trace event. +# # The <name> must be a valid as a C function name. # # Types should be standard C types. Use void * for pointers because the trace diff --git a/tracetool b/tracetool index 766a9ba..53d3612 100755 --- a/tracetool +++ b/tracetool @@ -110,7 +110,7 @@ linetoc_end_nop() # Process stdin by calling begin, line, and end functions for the backend convert() { - local begin process_line end + local begin process_line end str disable begin="lineto$1_begin_$backend" process_line="lineto$1_$backend" end="lineto$1_end_$backend" @@ -123,8 +123,14 @@ convert() str=${str%%#*} test -z "$str" && continue + # Process the line. The nop backend handles disabled lines. + disable=${str%%disable*} echo - "$process_line" "$str" + if test -z "$disable"; then + "lineto$1_nop" "${str##disable}" + else + "$process_line" "$str" + fi done echo -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html