All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Frank Ch. Eigler" <fche@redhat.com>
To: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Jeff Garzik <jeff@garzik.org>,
	Randy Dunlap <rdunlap@xenotime.net>,
	hch@infradead.org, linux-kernel@vger.kernel.org,
	Sam Ravnborg <sam@ravnborg.org>,
	Jens Axboe <jens.axboe@oracle.com>,
	Prasanna S Panchamukhi <prasanna@in.ibm.com>,
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
	Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
	"David S. Miller" <davem@davemloft.net>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <pzijlstr@redhat.com>,
	Philippe Elie <phil.el@wanadoo.fr>,
	"William L. Irwin" <wli@holomorphy.com>,
	Arjan van de Ven <arjan@infradead.org>,
	Christoph Lameter <christoph@lameter.com>,
	Valdis.Kletnieks@vt.edu
Subject: Re: [RFC] Create kinst/ or ki/ directory ?
Date: Wed, 31 Oct 2007 15:29:40 -0400	[thread overview]
Message-ID: <20071031192940.GB12334@redhat.com> (raw)
In-Reply-To: <20071031163623.GA4766@Krystal>

Hi -

On Wed, Oct 31, 2007 at 12:36:24PM -0400, Mathieu Desnoyers wrote:

> [...]  That's right, Systemtap uses symbols, thanks for the
> clarification. But my point is still valid: SystemTAP expects
> function names and argument names to stay unchanged, therefore using
> the kernel code itself as an API to userspace tools. [...]

To be precise, this applies *kprobes*-based probes only.  In
acceptance of this fragility, systemtap includes constructs (aliases,
version-dependent conditionals) to make it reasonably easy to adapt to
different kernel versions.

> I think that SystemTAP's [kprobes-based probes'] flexibility is
> great, but leads to fagileness wrt kernel code changes. If the "core
> events" required by SystemTAP (and also by LTTng by the way) could
> be turned into markers, I think it would gain in robustness.

Yes.

> Providing the ability to instrument code locations with breakpoints, in
> addition to this, will help users unsatisfied with the information
> they have, unwilling to recompile their kernel or modules with their
> own markers, ready to accept the two limitations :
> - performance hit of a breakpoint
> - unability to access variables within optimized functions

That latter point has been repeatedly overstated.  Markers provides a
fixed set of values.  kprobes/dwarf provides access to any statements
and any values (including locals) that a compiler did not altogether
elide.  While the latter set is by its nature variable, it will be
much bigger than anything a reasonable set of markers will ever
expose.

> So yes, both approaches seems to be complementary.

Indeed.

> > > About extending on ptrace, I am sorry to say that this solution has
> > > the same downsides as kprobes: it is too slow for high performance
> > > applications, especially if turned on system-wide. [...]
> > 
> > Roland McGrath's ptrace-replacement (utrace) should help with this.
> 
> Yes, I think he did a good job at it. However, it is not a replacement
> for the markers [...]

Right, not as a whole, but it *could* be an alternative way to hook
into system call type events.

> [...]
> So I would say : I'll try to submit a core set of markers patches for
> review on LKML and see what people have to say.

Thank you.  Our team is already in contact to help.

- FChE

  reply	other threads:[~2007-10-31 19:34 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-29 21:51 [RFC] Create instrumentation directory (git repository) Mathieu Desnoyers
2007-10-29 22:47 ` Randy Dunlap
2007-10-29 22:54   ` Jeff Garzik
2007-10-29 23:04     ` Mathieu Desnoyers
2007-10-29 23:08       ` Jeff Garzik
2007-10-29 23:35         ` Mathieu Desnoyers
2007-10-30  0:47           ` Jeff Garzik
2007-10-30  1:38             ` Mathieu Desnoyers
2007-10-30  9:13           ` Arnaldo Carvalho de Melo
2007-10-30 17:24         ` [RFC] Create kinst/ or ki/ directory ? Mathieu Desnoyers
2007-10-30 17:49           ` Peter Zijlstra
2007-10-30 17:50           ` Linus Torvalds
2007-10-30 17:58             ` Christoph Hellwig
2007-10-30 18:56             ` Mathieu Desnoyers
2007-10-30 19:25               ` Linus Torvalds
2007-10-30 20:40                 ` Mathieu Desnoyers
2007-10-31 15:48                   ` Frank Ch. Eigler
2007-10-31 16:29                     ` Arjan van de Ven
2007-10-31 19:05                       ` Frank Ch. Eigler
2007-10-31 19:49                         ` Arjan van de Ven
2007-10-31 16:36                     ` Mathieu Desnoyers
2007-10-31 19:29                       ` Frank Ch. Eigler [this message]
2007-10-30 21:46               ` Sam Ravnborg
2007-10-29 23:20 ` [RFC] Create instrumentation directory (git repository) Christoph Lameter
2007-10-29 23:40   ` Mathieu Desnoyers
2007-10-29 23:45     ` Christoph Lameter
2007-10-30  0:51     ` Jeff Garzik

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=20071031192940.GB12334@redhat.com \
    --to=fche@redhat.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=ananth@in.ibm.com \
    --cc=anil.s.keshavamurthy@intel.com \
    --cc=arjan@infradead.org \
    --cc=christoph@lameter.com \
    --cc=davem@davemloft.net \
    --cc=hch@infradead.org \
    --cc=jeff@garzik.org \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=mingo@redhat.com \
    --cc=phil.el@wanadoo.fr \
    --cc=prasanna@in.ibm.com \
    --cc=pzijlstr@redhat.com \
    --cc=rdunlap@xenotime.net \
    --cc=sam@ravnborg.org \
    --cc=torvalds@linux-foundation.org \
    --cc=wli@holomorphy.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.