public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Steven Rostedt <rostedt@goodmis.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Arnaldo Carvalho de Melo <acme@infradead.org>,
	David Sharp <dhsharp@google.com>,
	Arjan van de Ven <arjan@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, 2nddept-manager@sdl.hitachi.co.jp
Subject: Re: [RFD tracing] Tracing ABI Work Plan
Date: Thu, 11 Nov 2010 16:59:13 +0900	[thread overview]
Message-ID: <4CDBA251.4010505@hitachi.com> (raw)
In-Reply-To: <20101111004612.GB32564@Krystal>

Hi,

(2010/11/11 9:46), Mathieu Desnoyers wrote:
> A) New ABI for user-space
> 
> This new ABI will provide the features long-awaited by tracing users. We've
> already started this discussion by listing the requirements and acknowledging
> them. It is now time to start discussing the ABI. Upon disagreement on answering
> a specific requirement, two questions will arise:
> 
> 1. How much trouble it really is to take care of this requirement. If the answer
>    is "not much", then we simply take care of it.
> 2. If it really is a big deal to take care of a requirement at the ABI level,
>    then we will have to discuss the use-cases.
> 
> Once we are on the same page with respect to these requirements, we can come up
> with an ABI proposal for:
> 
> - Tracing control
> - Trace format
> 
> 
> B) Internal Instrumentation API
> 
> I propose to standardize the instrumentation mechanisms (Tracepoints, Function
> Tracer, Dynamic Probes, System Call Tracing, etc), so they can be used by
> Ftrace, Perf, and by the new ABI without requiring to build all three tracer
> ABI code-bases in the kernel. This involves modularizing the instrumentation
> sources, taking the following aspects into account:
> 
> - They should be stand-alone objects, which can be built without a full tracer
>   enabled.
> - They should offer a "registration/unregistration" API to tracers, so tracers
>   can register a callback along with a private data pointer (this would fit
>   with the "multiple concurrent tracing session" requirement).
> - They should call these callbacks passing the private data pointer when the
>   instrumentation is hit.
> - They should provide a mechanism to list the available instrumentation (when it
>   makes sense) and active instrumentation. E.g., it makes sense for tracepoints
>   to list the available tracepoints, but it only makes sense for dynamic probes
>   to list the enabled probes.
> 
> Masami Hiramatsu and Frederic Weisbecker already showed interest in undertaking
> this task.

Actually, I didn't talked about what API should be provided internally.
(Yeah, I know LTTng handler want that. However, there is no "external" handler
 _inside_ linux kernel tree)
Instead, I and Frederic talked shortly about something like user interface
for events. (so it would be more close to A, about controlling)

As Thomas said, eventually kernel internal tracer should simply provide
"events tracing" functionality. User tools will analyze it and it's not
kernel's business. I agree with his opinion.

>From above viewpoint, currently only trace-events(tracepoint-based events)
and dynamic-events (kprobe-based events) are providing same interface for
users. And, for example, perf's PMU events or ftrace's mcount events aren't
shown up under debugfs/tracing/events. IMHO, all events provided by kernel
should be there, so that user tools can read the format and control those
events same way.

For this purpose, I'd like to expand trace-event/dynamic-event framework to
those events. It seems that some PMU events can be treated as trace-events,
mcount and other parametric events can be treated as dynamic-events.

Anyway, those stuffs can be done without new-ring-buffer-ABI things.
I'll just expand dyn-events a bit far from here :-)

Best Regards,

-- 
Masami HIRAMATSU
2nd Dept. Linux Technology Center
Hitachi, Ltd., Systems Development Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com

  parent reply	other threads:[~2010-11-11  7:59 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-11  0:46 [RFD tracing] Tracing ABI Work Plan Mathieu Desnoyers
2010-11-11  1:33 ` Thomas Gleixner
2010-11-11  1:50   ` Steven Rostedt
2010-11-11  1:55     ` Thomas Gleixner
2010-11-11  2:05       ` Steven Rostedt
2010-11-11  9:10         ` Thomas Gleixner
2010-11-11  2:16   ` [RFC tracing] Common Trace Format for Linux (v1.1) Mathieu Desnoyers
2010-11-11  9:45     ` Thomas Gleixner
2010-11-11 12:26       ` Mathieu Desnoyers
2010-11-11  7:59 ` Masami Hiramatsu [this message]
2010-11-11 13:02   ` [RFD tracing] Tracing ABI Work Plan Mathieu Desnoyers
2010-11-12 11:20     ` Masami Hiramatsu
2010-11-13  1:56     ` David Sharp

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=4CDBA251.4010505@hitachi.com \
    --to=masami.hiramatsu.pt@hitachi.com \
    --cc=2nddept-manager@sdl.hitachi.co.jp \
    --cc=acme@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@infradead.org \
    --cc=dhsharp@google.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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