public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* Re: [Ksummit-2008-discuss] Topics for KS 2008 : tracing integration  with the kernel
       [not found] <20080716145722.GH24546@Krystal>
@ 2008-07-25  5:49 ` Masami Hiramatsu
  0 siblings, 0 replies; only message in thread
From: Masami Hiramatsu @ 2008-07-25  5:49 UTC (permalink / raw)
  To: Mathieu Desnoyers; +Cc: ksummit-2008-discuss, systemtap-ml

Hi Mathieu,

Mathieu Desnoyers wrote:
> Hi,
> 
> I've looked at the Dtrace discussion and at the following proposal of a
> SystemTAP discussion at KS2008. I think the broader topic of tracing
> integration with the kernel would encompass the more general subject, in
> which SystemTAP would be one element.
> 
> Talking about various subtopic which have only been partially addressed
> so far such as :
> 
> Instrumentation
>   - We currently have kprobes, linux kernel markers and soon
>     tracepoints. The goal of tracepoints is to try to identify clearly,
>     with a well-defined interface, what tracepoints can be expected from
>     a kernel. Those are defined in include/trace/*.h.

We also has ftrace's function entry probe now. It can be a good
probe facility. And James' simple trace is also possible one.

> Probes
>   - Writing tracing probes meant to be connected to the instrumentation
>     presents a lot of difficulties, ranging from reentrancy wrt
>     interrupts, non-maskable interrupts, other CPUs to dealing with
>     locks already taken in the instrumentation site's execution context.
>   - Various types of probes can re-use the same instrumentation
>     - Specialized probes (e.g. ftrace, blktrace)
>     - Script-like probes, customized by the users (SystemTAP). Mainly
>       meant to detect some pre-defined conditions and to perform some
>       counting.
>     - General purpose tracer. Basically exports the full data flow to
>       userspace through a highly optimized buffering mechanism (LTTng).

Various probes can re-use each basic implementations
 - Time logging code
 - Buffer formatting code
 - Memory object pool
 - Basic calculation code (like statistics in stap)

> 
> Relaying of data to userspace
>   - Pretty much covered by relay and debugfs.

Ftrace has a special logging buffer. We might be able to integrate
those infrastructures to a general configurable communication
interface.

> Questions which are still open issues :
> - Dealing with userspace tracing.
>   Giving the ability to perform early boot-time tracing of processes
>   such as init) adds requirements for new kernel ABIs. Also, do we want
>   to pay the penality cost of adding a system call per probe or should
>   we designed a shared-memory buffer scheme with userspace for tracing ?
>   If we think of pthread mutex instrumentation, the latter is much
>   preferred.

And also we should consider about kernel and user log data merging.
in that case, former is simple and it might have fair performance.

> - How do we assign names to instrumentation sites in a way that would
>   permit tracing the kernel, libraries and userspace programs.
>   Namespacing becomes an issue here.
 - Where and what information are good for us. What kind of information
   can be exposed to userspace.

Thank you,

> 
> I'd definitely be interested to discuss those issues at KS2008,
> especially given the growing interest the community has for tracing
> tools.
> 
> Mathieu
> 

-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America) Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-07-25  5:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20080716145722.GH24546@Krystal>
2008-07-25  5:49 ` [Ksummit-2008-discuss] Topics for KS 2008 : tracing integration with the kernel Masami Hiramatsu

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 read-only IMAP folder(s) and NNTP newsgroup(s).