All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	Ingo Molnar <mingo@redhat.com>,
	linux-kernel@vger.kernel.org, Li Zefan <lizf@cn.fujitsu.com>,
	William Cohen <wcohen@redhat.com>,
	"Jun'ichi Nomura" <j-nomura@ce.jp.nec.com>,
	"Theodore Ts'o" <tytso@mit.edu>, Jason Baron <jbaron@redhat.com>,
	Mel Gorman <mel@csn.ul.ie>,
	Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Avi Kivity <avi@redhat.com>, Gleb Natapov <gleb@redhat.com>,
	Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>,
	Neil Horman <nhorman@tuxdriver.com>,
	Arjan van de Ven <arjan@linux.intel.com>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Kei Tokunaga <tokunaga.keiich@jp.fujitsu.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Oleg Nesterov <oleg@redhat.com>,
	Masami Hiramatsu <mhiramat@redhat.com>,
	Josh Stone <jistone@redhat.com>,
	Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Zhaolei <zhaolei@cn.fujitsu.com>,
	Anton Blanchard <anton@samba.org>
Subject: Re: [RFC PATCH] ftrace trace event: introduce assignment macros
Date: Thu, 9 Dec 2010 18:00:32 +0100	[thread overview]
Message-ID: <20101209170027.GF1712@nowhere> (raw)
In-Reply-To: <20101209162210.GB6769@Krystal>

On Thu, Dec 09, 2010 at 11:22:11AM -0500, Mathieu Desnoyers wrote:
> This patch proposes encapsulation of the raw assignments within TP_fast_assign()
> by introducing tp_assign() and tp_memcpy() macros. This will allow us to:
> 
> - generically filter from input fields,
> - redefine the field write primitives.
> 
> The current macros map directly to the old code. I changed the documentation in
> tracepoint.txt to reflect these new primitives, but all TRACE_EVENT() users
> should gradually update their code to use these macro wrappers rather than raw
> "=" assignments or mempcy() calls.
> 
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
> CC: Steven Rostedt <rostedt@goodmis.org>
> CC: Frederic Weisbecker <fweisbec@gmail.com>
> CC: Ingo Molnar <mingo@redhat.com>
> CC: Li Zefan <lizf@cn.fujitsu.com>
> CC: William Cohen <wcohen@redhat.com>
> CC: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
> CC: Theodore Ts'o <tytso@mit.edu>
> CC: Jason Baron <jbaron@redhat.com>
> CC: Mel Gorman <mel@csn.ul.ie>
> CC: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
> CC: Marcelo Tosatti <mtosatti@redhat.com>
> CC: Avi Kivity <avi@redhat.com>
> CC: Gleb Natapov <gleb@redhat.com>
> CC: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
> CC: Neil Horman <nhorman@tuxdriver.com>
> CC: Arjan van de Ven <arjan@linux.intel.com>
> CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
> CC: Kei Tokunaga <tokunaga.keiich@jp.fujitsu.com>
> CC: Martin K. Petersen <martin.petersen@oracle.com>
> CC: Oleg Nesterov <oleg@redhat.com>
> CC: Masami Hiramatsu <mhiramat@redhat.com>
> CC: Josh Stone <jistone@redhat.com>
> CC: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
> CC: Thomas Gleixner <tglx@linutronix.de>
> CC: Zhaolei <zhaolei@cn.fujitsu.com>
> CC: Anton Blanchard <anton@samba.org>
> ---
>  include/linux/tracepoint.h |   12 ++++++------
>  include/trace/ftrace.h     |    6 ++++++
>  2 files changed, 12 insertions(+), 6 deletions(-)
> 
> Index: linux-2.6-lttng.git/include/trace/ftrace.h
> ===================================================================
> --- linux-2.6-lttng.git.orig/include/trace/ftrace.h
> +++ linux-2.6-lttng.git/include/trace/ftrace.h
> @@ -1,4 +1,10 @@
>  /*
> + * Macros mapping tp_assign() and tp_memcpy() to "=" and memcpy.
> + */
> +#define tp_assign(dest, src)		__entry->dest = src
> +#define tp_memcpy(dest, src, len)	memcpy(__entry->dest, src, len)

Looks good.


> +
> +/*
>   * Stage 1 of the trace events.
>   *
>   * Override the macros in <trace/trace_events.h> to include the following:
> Index: linux-2.6-lttng.git/include/linux/tracepoint.h
> ===================================================================
> --- linux-2.6-lttng.git.orig/include/linux/tracepoint.h
> +++ linux-2.6-lttng.git/include/linux/tracepoint.h
> @@ -306,12 +306,12 @@ static inline void tracepoint_update_pro
>   *	*
>   *
>   *	TP_fast_assign(
> - *		memcpy(__entry->next_comm, next->comm, TASK_COMM_LEN);
> - *		__entry->prev_pid	= prev->pid;
> - *		__entry->prev_prio	= prev->prio;
> - *		memcpy(__entry->prev_comm, prev->comm, TASK_COMM_LEN);
> - *		__entry->next_pid	= next->pid;
> - *		__entry->next_prio	= next->prio;
> + *		tp_memcpy(next_comm, next->comm, TASK_COMM_LEN);
> + *		tp_assign(prev_pid, prev->pid);
> + *		tp_assign(prev_prio, prev->prio);
> + *		tp_memcpy(prev_comm, prev->comm, TASK_COMM_LEN);
> + *		tp_assign(next_pid, next->pid);
> + *		tp_assign(next_prio, next->prio);
>   *	)
>   *
>   *	*
> 
> -- 
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com

  reply	other threads:[~2010-12-09 17:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-09 16:22 [RFC PATCH] ftrace trace event: introduce assignment macros Mathieu Desnoyers
2010-12-09 17:00 ` Frederic Weisbecker [this message]
2010-12-09 20:00   ` Mathieu Desnoyers
2010-12-09 21:50   ` Mathieu Desnoyers

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=20101209170027.GF1712@nowhere \
    --to=fweisbec@gmail.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=anton@samba.org \
    --cc=arjan@linux.intel.com \
    --cc=avi@redhat.com \
    --cc=eduard.munteanu@linux360.ro \
    --cc=gleb@redhat.com \
    --cc=j-nomura@ce.jp.nec.com \
    --cc=jbaron@redhat.com \
    --cc=jistone@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=martin.petersen@oracle.com \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mel@csn.ul.ie \
    --cc=mhiramat@redhat.com \
    --cc=mingo@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=nhorman@tuxdriver.com \
    --cc=oleg@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=seto.hidetoshi@jp.fujitsu.com \
    --cc=tglx@linutronix.de \
    --cc=tokunaga.keiich@jp.fujitsu.com \
    --cc=tytso@mit.edu \
    --cc=wcohen@redhat.com \
    --cc=xiaoguangrong@cn.fujitsu.com \
    --cc=zhaolei@cn.fujitsu.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.