qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
To: Prerna Saxena <prerna@linux.vnet.ibm.com>
Cc: Maneesh Soni <maneesh@linux.vnet.ibm.com>,
	Ananth Narayan <ananth@linux.vnet.ibm.com>,
	qemu-devel <qemu-devel@nongnu.org>
Subject: [Qemu-devel] Re: [Tracing][PATCH] Allow bulk enabling of trace events at compile time.
Date: Tue, 13 Jul 2010 15:04:04 +0100	[thread overview]
Message-ID: <20100713140403.GA27467@stefan-thinkpad.transitives.com> (raw)
In-Reply-To: <20100713170416.6b852cd1@zephyr>

On Tue, Jul 13, 2010 at 05:04:16PM +0530, Prerna Saxena wrote:
> [PATCH] For 'simple' trace backend, allow bulk enabling/disabling of trace
>  events at compile time.
>  Trace events that are preceded by 'disable' keyword are compiled in, but 
>  turned off by default. These can individually be turned on using the monitor.
>  All other trace events are enabled by default.
> 
> TODO :
> This could be enhanced when the trace-event namespace is partitioned into a
> group and an ID within that group. In such a case, marking a group as enabled 
> would automatically enable all trace-events listed under it.
> 
> Signed-off-by: Prerna Saxena <prerna@linux.vnet.ibm.com>
> ---

Applied, thanks!

Stefan

>  trace-events |    3 +++
>  tracetool    |   36 ++++++++++++++++++++++++++++++++----
>  2 files changed, 35 insertions(+), 4 deletions(-)
> 
> diff --git a/trace-events b/trace-events
> index a533414..cb5ef00 100644
> --- a/trace-events
> +++ b/trace-events
> @@ -17,6 +17,9 @@
>  # Example: qemu_malloc(size_t size) "size %zu"
>  #
>  # The "disable" keyword will build without the trace event.
> +# In case of 'simple' trace backend, it will allow the trace event to be
> +# compiled, but this would be turned off by default. It can be toggled on via 
> +# the monitor.
>  #
>  # The <name> must be a valid as a C function name.
>  #
> diff --git a/tracetool b/tracetool
> index b7a0499..98d23fb 100755
> --- a/tracetool
> +++ b/tracetool
> @@ -73,6 +73,20 @@ get_fmt()
>      echo "$fmt"
>  }
> 
> +# Get the state of a trace event
> +get_state()
> +{
> +    local str disable state
> +    str=$(get_name "$1")
> +    disable=${str##disable }
> +    if [ "$disable" = "$str" ] ; then
> +        state=1
> +    else
> +        state=0
> +    fi
> +    echo "$state"
> +}
> +
>  linetoh_begin_nop()
>  {
>      return
> @@ -155,12 +169,16 @@ cast_args_to_ulong()
> 
>  linetoh_simple()
>  {
> -    local name args argc ulong_args
> +    local name args argc ulong_args state
>      name=$(get_name "$1")
>      args=$(get_args "$1")
>      argc=$(get_argc "$1")
>      ulong_args=$(cast_args_to_ulong "$1")
> 
> +    state=$(get_state "$1")
> +    if [ "$state" = "0" ]; then
> +        name=${name##disable }
> +    fi
>      cat <<EOF
>  static inline void trace_$name($args) {
>      trace$argc($simple_event_num, $ulong_args);
> @@ -191,10 +209,14 @@ EOF
> 
>  linetoc_simple()
>  {
> -    local name
> +    local name state
>      name=$(get_name "$1")
> +    state=$(get_state "$1")
> +    if [ "$state" = "0" ] ; then
> +        name=${name##disable }
> +    fi
>      cat <<EOF
> -{.tp_name = "$name", .state=0},
> +{.tp_name = "$name", .state=$state},
>  EOF
>      simple_event_num=$((simple_event_num + 1))
>  }
> @@ -305,7 +327,13 @@ convert()
>          disable=${str%%disable *}
>          echo
>          if test -z "$disable"; then
> -            "lineto$1_nop" "${str##disable }"
> +            # Pass the disabled state as an arg to lineto$1_simple().
> +            # For all other cases, call lineto$1_nop()
> +            if [ $backend = "simple" ]; then
> +                "$process_line" "$str"
> +            else
> +                "lineto$1_nop" "${str##disable }"
> +            fi
>          else
>              "$process_line" "$str"
>          fi
> -- 
> 1.6.2.5
> 
> 
> 
> -- 
> Prerna Saxena
> 
> Linux Technology Centre,
> IBM Systems and Technology Lab,
> Bangalore, India
> 

      reply	other threads:[~2010-07-13 14:04 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-13 11:34 [Qemu-devel] [Tracing][PATCH] Allow bulk enabling of trace events at compile time Prerna Saxena
2010-07-13 14:04 ` Stefan Hajnoczi [this message]

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=20100713140403.GA27467@stefan-thinkpad.transitives.com \
    --to=stefanha@linux.vnet.ibm.com \
    --cc=ananth@linux.vnet.ibm.com \
    --cc=maneesh@linux.vnet.ibm.com \
    --cc=prerna@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /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 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).