All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: Darren Hart <dvhart@linux.intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <peterz@infradead.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Arjan van de Ven <arjan@infradead.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	Tom Zanussi <tzanussi@gmail.com>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	Li Zefan <lizf@cn.fujitsu.com>, Jason Baron <jbaron@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	Christoph Hellwig <hch@lst.de>, Pekka Enberg <penberg@kernel.org>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	Eric Dumazet <eric.dumazet@gmail.com>
Subject: Re: [ANNOUNCE] New utility: 'trace'
Date: Tue, 16 Nov 2010 23:17:28 +0100	[thread overview]
Message-ID: <20101116221726.GB26243@nowhere> (raw)
In-Reply-To: <4CE2F747.4060406@linux.intel.com>

On Tue, Nov 16, 2010 at 01:27:35PM -0800, Darren Hart wrote:
> On 11/16/2010 01:04 PM, Thomas Gleixner wrote:
>> We are pleased to announce a new tracing tool called 'trace'.
>>
>
> Hi Thomas, Ingo - Congrats and Thanks!
>
>> At this point we'd like to ask for feedback from other users of tracing tools,
>> which workflow components would you like to see in addition to what the 'trace'
>> tool is offering?
>>
>> Comments, bug reports, suggestions welcome,
>
> The first thing that comes to mind is trace_marker:
>
> echo "Test point A" > /sys/kernel/debug/tracing/trace_marker
>
> I've found this sort of markup to be useful using ftrace (with C  
> equivalents embedded in the test case). Is this supported?


No, the trace_marker file sends trace_printk events. And trace_printk
events needs to be converted to use the unified trace event interface
(ie: implement a struct ftrace_event_call).

This shouldn't be so hard, and there are several ways we could do this.

An idea is to reproduce the kernel file hierarchy in a "printk" event
subsystem, but this implies to allow subsystems nesting.

Imagine you have two trace_printk(), one in kernel/sched.c:117
and one in kernel/time/tick-sched.c:228
The result would be:

$ ls /sys/kernel/debug/tracing/events/printk

/sys/kernel/debug/tracing/events/printk:
enable  filter  kernel/

/sys/kernel/debug/tracing/events/printk/kernel:
enable  filter sched.c/ time/

/sys/kernel/debug/tracing/events/printk/kernel/sched.c:
enable  filter  117/

/sys/kernel/debug/tracing/events/printk/kernel/sched.c/117:
enable filter format id

/sys/kernel/debug/tracing/events/printk/kernel/time:
enable  filter tick-sched.c/

/sys/kernel/debug/tracing/events/printk/kernel/time/tick-sched.c:
enable  filter  228/

/sys/kernel/debug/tracing/events/printk/kernel/time/tick-sched.c/228:
enable filter format id


The format would be quite easy, and only one field for the whole string (strloc).

Not sure what to do with trace_marker. I just think we can add it as:
/sys/kernel/debug/tracing/events/printk/sys/kernel/debug/tracing/trace_marker

<:o)


But may be the whole idea is just fancy and nobody will care, and would just
a simple single event in a printk subsystem, on which you can use a kind of
virtual filter:

	echo "path != kernel/whatever.c:226" > /sys/kernel/debug/tracing/events/printk/filter

would turn on every trace_printk() but the one in the given path.

Dunno, I like both ideas. I prefer the first one which looks to me more flexible: could be
useful to list the user his trace_printks for example and implement an interface for him
to quickly select the trace_printk he wants.

For example I'm currently working with dozens of trace_printk() and I would be very happy
to turn some of them off half of the time.


  parent reply	other threads:[~2010-11-16 22:17 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-16 21:04 [ANNOUNCE] New utility: 'trace' Thomas Gleixner
2010-11-16 21:27 ` Darren Hart
2010-11-16 21:59   ` Ingo Molnar
2010-11-16 22:03     ` Peter Zijlstra
2010-11-16 22:08       ` Ingo Molnar
2010-11-16 22:09       ` Darren Hart
2010-11-16 22:48         ` Darren Hart
2010-11-16 22:07     ` Darren Hart
2010-11-16 22:17   ` Frederic Weisbecker [this message]
2010-11-17  8:30     ` Ingo Molnar
2010-11-17 11:35       ` Peter Zijlstra
2010-11-17 12:53         ` Frederic Weisbecker
2010-11-17 13:02           ` Peter Zijlstra
2010-11-17 13:10             ` Ingo Molnar
2010-11-17 13:36               ` Peter Zijlstra
2010-11-17 13:43                 ` Frederic Weisbecker
2010-11-17 13:53                   ` Peter Zijlstra
2010-11-17 14:10                     ` Frederic Weisbecker
2010-11-17 15:02                       ` Steven Rostedt
2010-11-17 18:13                       ` Ted Ts'o
2010-11-17 18:29                         ` Frederic Weisbecker
2010-11-17 18:30                           ` Darren Hart
2010-11-17 16:49             ` Darren Hart
2010-11-18 23:23       ` Joe Perches
2010-11-16 21:35 ` Ingo Molnar
2010-11-17  1:37 ` Ted Ts'o
2010-11-17  1:47   ` Steven Rostedt
2010-11-17  3:16     ` Ted Ts'o
2010-11-17  3:34       ` Steven Rostedt
2010-11-17 19:00         ` Bob Copeland
2010-11-17 13:24   ` Ingo Molnar
2010-11-17 13:38     ` Peter Zijlstra
2010-11-17 14:00       ` Ingo Molnar
2010-11-17 14:11         ` Peter Zijlstra
2010-11-17 14:18           ` Peter Zijlstra
2010-11-17 14:37             ` Thomas Gleixner
2010-11-17 14:41               ` Peter Zijlstra
2010-11-17 15:41               ` Tom Zanussi
2010-11-17 15:55                 ` Avi Kivity
2010-11-17 15:58                   ` Thomas Gleixner
2010-11-17 16:20                     ` Avi Kivity
2010-11-17 15:59                   ` Peter Zijlstra
2010-11-17 16:08                     ` Avi Kivity
2010-11-17 15:10           ` Steven Rostedt
2010-11-17 15:43             ` Peter Zijlstra
2010-11-17 16:04               ` Steven Rostedt
2010-11-17 16:15               ` Steven Rostedt
2010-11-17 19:40                 ` Darren Hart
2010-11-17 18:23               ` Mathieu Desnoyers
2010-11-18  5:58                 ` Masami Hiramatsu
2010-11-18  6:00               ` Masami Hiramatsu
2010-11-17 15:33           ` Tom Zanussi
2010-11-17 18:36             ` Mathieu Desnoyers
2010-11-17 18:53               ` Tom Zanussi
2010-11-17 19:02                 ` Mathieu Desnoyers
2010-11-17 19:25                   ` Tom Zanussi
2010-11-17 19:25               ` Steven Rostedt
2010-11-17  9:49 ` Philipp Marek
     [not found] ` <4CE38C53.8090606@kernel.org>
2010-11-17 12:07   ` [patch] trace: Add user-space event tracing/injection Ingo Molnar
2010-11-17 12:17     ` Pekka Enberg
2010-11-17 12:30       ` Ingo Molnar
2010-11-17 12:33         ` Pekka Enberg
2010-11-17 12:42           ` Peter Zijlstra
2010-11-17 12:58             ` Ingo Molnar
2010-11-17 13:09               ` Peter Zijlstra
2010-11-17 13:36                 ` Ingo Molnar
2010-11-17 12:24     ` Ingo Molnar
2010-11-17 12:30       ` Pekka Enberg
2010-11-17 12:29     ` Peter Zijlstra
2010-11-17 12:37       ` Peter Zijlstra
2010-11-17 13:10       ` Frederic Weisbecker
2010-11-17 13:31         ` Peter Zijlstra
2010-11-17 13:33           ` Frederic Weisbecker
2010-11-18  1:18     ` Darren Hart
2010-11-18  8:55       ` Ingo Molnar
2010-11-18 16:25         ` hp
2010-11-18 18:56           ` Ingo Molnar
2010-11-18 19:13             ` AW: " Reichert, Hans-Peter
2010-11-18 17:06         ` Darren Hart
2010-11-17 12:47 ` [ANNOUNCE] New utility: 'trace' Török Edwin
2010-11-17 12:51   ` Peter Zijlstra
2010-11-17 13:05     ` Török Edwin
2010-11-17 13:10       ` Peter Zijlstra
2010-11-17 13:32   ` Frederic Weisbecker
2010-11-18  0:47 ` Ian Munsie
     [not found]   ` <20101118151141.GA3368@redhat.com>
2010-11-19  2:32     ` Ian Munsie
2010-11-19 15:23       ` Jason Baron
     [not found]       ` <4CECACF9.3080907@linux.vnet.ibm.com>
     [not found]         ` <4CFD7182.4060206@linux.vnet.ibm.com>
2010-12-07  4:03           ` PowerPC, ftrace: Add PPC raw syscall tracepoints & ftrace fixes Ian Munsie

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=20101116221726.GB26243@nowhere \
    --to=fweisbec@gmail.com \
    --cc=acme@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@infradead.org \
    --cc=davem@davemloft.net \
    --cc=dvhart@linux.intel.com \
    --cc=eric.dumazet@gmail.com \
    --cc=hch@lst.de \
    --cc=jbaron@redhat.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@elte.hu \
    --cc=penberg@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=tzanussi@gmail.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.