public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Martin Bligh <mbligh@mbligh.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Roman Zippel <zippel@linux-m68k.org>,
	Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>,
	linux-kernel@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	Andrew Morton <akpm@osdl.org>, Ingo Molnar <mingo@redhat.com>,
	Greg Kroah-Hartman <gregkh@suse.de>,
	Thomas Gleixner <tglx@linutronix.de>,
	Tom Zanussi <zanussi@us.ibm.com>,
	ltt-dev@shafik.org, Michel Dagenais <michel.dagenais@polymtl.ca>,
	fche@redhat.com
Subject: Re: [PATCH 0/11] LTTng-core (basic tracing infrastructure) 0.5.108
Date: Thu, 14 Sep 2006 15:59:15 -0700	[thread overview]
Message-ID: <4509DEC3.70806@mbligh.org> (raw)
In-Reply-To: <20060914223607.GB25004@elte.hu>

Ingo Molnar wrote:
> * Martin Bligh <mbligh@mbligh.org> wrote:
> 
>>>i very much agree that they should become as fast as possible. So to 
>>>rephrase the question: can we make dynamic tracepoints as fast (or 
>>>nearly as fast) as static tracepoints? If yes, should we care about 
>>>static tracers at all?
>>
>>Depends how many nops you're willing to add, I guess. Anything, even 
>>the static tracepoints really needs at least a branch to be useful, 
>>IMHO. At least for what I've been doing with it, you need to stop the 
>>data flow after a while (when the event you're interested in happens, 
>>I'm using it like a flight data recorder, so we can go back and do 
>>postmortem on what went wrong). I should imagine branch prediction 
>>makes it very cheap on most modern CPUs, but don't have hard data to 
>>hand.
> 
> only 5 bytes of NOP are needed by default, so that a kprobe can insert a 
> call/callq instruction. The easiest way in practice is to insert a 
> _single_, unconditional function call that is patched out to NOPs upon 
> its first occurance (doing this is not a performance issue at all). That 
> way the only cost is the NOP and the function parameter preparation 
> side-effects. (which might or might not be significant - with register 
> calling conventions and most parameters being readily available it 
> should be small.)
> 
> note that such a limited, minimally invasive 'data extraction point' 
> infrastructure is not actually what the LTT patches are doing. It's not 
> even close, and i think you'll be surprised. Let me quote from the 
> latest LTT patch (patch-2.6.17-lttng-0.5.108, which is the same version 
> submitted to lkml - although no specific tracepoints were submitted):

OK, I grant you that's pretty scary ;-) However, it's not the only way
to do it. Most things we're using write a statically sized 64-bit event
into a relayfs buffer, with a timestamp, a minor and major event type,
and a byte of data payload.

> believe it or not, this is inlined into: kernel/sched.c ...
> 
> 'enuff said. LTT is so far from being even considerable that it's not 
> even funny.

Particularly if we're doing more complex things like that, I'd agree
that the overhead of doing the out of line jump is non-existant by
comparison. Even with the relayfs logging alone, perhaps the jump is
not that heavy ... hmmm.

If we put the NOPs in (at least as an option on some architectures)
from a macro, you don't really need the full kprobes implemented to
to tracing, even ... just overwrite the nops with a jump, so presumably
would be easier to port. However, not sure how local variable data
is specified in that case ... perhaps the kprobes guys know better.
Most of the complexity seemed to be with relocating existing code
because you didn't have nops.

To me, the main thing is to have hooks for the at least some of the
basic needs maintained in-kernel - from the dtrace paper Val pointed
me to, that seems to be exactly what they do too, and it integrates
with the newly added dynamic ones where necessary. Plus I hate the
whole awk thing, and general complexity of systemtap, but we can
probably avoid that easily enough - either the embedded C option
you mentioned, or just a different definiton for the same hook macros
under a config option.

So perhaps it'll all work. Still need a little bit of data maintained
in tree though.

M.

  reply	other threads:[~2006-09-14 22:59 UTC|newest]

Thread overview: 284+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-14  3:38 [PATCH 0/11] LTTng-core (basic tracing infrastructure) 0.5.108 Mathieu Desnoyers
2006-09-14 11:27 ` Ingo Molnar
2006-09-14 13:40   ` Roman Zippel
2006-09-14 13:55     ` Ingo Molnar
2006-09-14 14:33       ` Roman Zippel
2006-09-14 15:26         ` Michel Dagenais
2006-09-14 17:48           ` Ingo Molnar
2006-09-15 15:04             ` Mathieu Desnoyers
2006-09-14 18:08           ` Nick Piggin
2006-09-14 18:38             ` Karim Yaghmour
2006-09-14 17:13         ` Ingo Molnar
2006-09-14 17:55           ` Roman Zippel
2006-09-14 18:15             ` Ingo Molnar
2006-09-14 18:35               ` Mathieu Desnoyers
2006-09-14 18:54               ` Karim Yaghmour
2006-09-15  9:20                 ` Jes Sorensen
2006-09-15 12:38                   ` Karim Yaghmour
2006-09-15 12:32                     ` Jes Sorensen
2006-09-15 14:09                       ` Karim Yaghmour
2006-09-15 14:30                         ` Jes Sorensen
2006-09-15 15:12                           ` Karim Yaghmour
2006-09-16 10:41                             ` Jes Sorensen
2006-09-16 15:28                               ` Karim Yaghmour
2006-09-18  8:57                                 ` Jes Sorensen
2006-09-18 14:48                                   ` Ingo Molnar
2006-09-18 15:37                                     ` Karim Yaghmour
2006-09-15 13:20                     ` Paul Mundt
2006-09-15 13:41                       ` Roman Zippel
2006-09-15 13:44                         ` Jes Sorensen
2006-09-15 14:03                           ` Roman Zippel
2006-09-15 14:37                             ` Alan Cox
2006-09-15 14:34                               ` Roman Zippel
2006-09-15 13:57                         ` Paul Mundt
2006-09-15 14:17                           ` Karim Yaghmour
2006-09-15 14:13                             ` Jes Sorensen
2006-09-15 14:31                               ` Karim Yaghmour
2006-09-15 14:28                                 ` Paul Mundt
2006-09-15 14:46                                   ` Martin J. Bligh
2006-09-15 15:22                                     ` Alan Cox
2006-09-15 15:47                                       ` Martin J. Bligh
2006-09-15 14:51                                   ` Karim Yaghmour
2006-09-15 15:00                                     ` Thomas Gleixner
2006-09-15 15:28                                       ` Karim Yaghmour
2006-09-15 18:16                                       ` Andrew Morton
2006-09-15 18:19                                         ` Ingo Molnar
2006-09-15 19:26                                           ` Karim Yaghmour
2006-09-15 19:43                                           ` Roman Zippel
2006-09-15 20:05                                             ` Ingo Molnar
2006-09-15 20:22                                               ` Mathieu Desnoyers
2006-09-15 21:08                                                 ` Jose R. Santos
2006-09-15 21:25                                                   ` Mathieu Desnoyers
2006-09-15 22:02                                                     ` Jose R. Santos
2006-09-15 22:03                                                   ` Ingo Molnar
2006-09-15 22:32                                                     ` Karim Yaghmour
2006-09-15 22:43                                                       ` Ingo Molnar
2006-09-15 23:33                                                         ` Karim Yaghmour
2006-09-15 23:52                                                           ` Ingo Molnar
2006-09-16  2:24                                                             ` Karim Yaghmour
2006-09-15 23:53                                                           ` Ingo Molnar
2006-09-16  2:51                                                             ` Karim Yaghmour
2006-09-15 22:59                                                     ` Frank Ch. Eigler
2006-09-15 23:40                                                       ` Karim Yaghmour
2006-09-15 23:17                                                     ` Jose R. Santos
2006-09-15 21:32                                                 ` Ingo Molnar
2006-09-15 21:58                                                   ` Mathieu Desnoyers
2006-09-15 22:19                                                     ` Ingo Molnar
2006-09-15 22:45                                                       ` Karim Yaghmour
2006-09-16  9:59                                                 ` Jes Sorensen
2006-09-16 17:24                                                   ` Mathieu Desnoyers
2006-09-16 17:35                                                     ` Ingo Molnar
2006-09-16 17:56                                                       ` Mathieu Desnoyers
2006-09-16 19:10                                                         ` Ingo Molnar
2006-09-16 19:37                                                           ` Ingo Molnar
2006-09-16 20:29                                                             ` [patch] kprobes: optimize branch placement Ingo Molnar
2006-09-16 20:43                                                               ` Ingo Molnar
2006-09-16 21:44                                                                 ` Karim Yaghmour
2006-09-16 22:57                                                                   ` Andrew Morton
2006-09-16 23:24                                                                     ` Ingo Molnar
2006-09-17  2:44                                                                       ` Karim Yaghmour
2006-09-17  1:59                                                                     ` Karim Yaghmour
2006-09-17 12:15                                                                       ` Mike Galbraith
2006-09-16 22:56                                                                 ` Andrew Morton
2006-09-16 23:30                                                                   ` Ingo Molnar
2006-09-18 13:52                                                                     ` Ananth N Mavinakayanahalli
2006-09-16 22:55                                                               ` Andrew Morton
2006-09-17 10:13                                                             ` [PATCH 0/11] LTTng-core (basic tracing infrastructure) 0.5.108 Frederik Deweerdt
2006-09-17 14:00                                                               ` Ingo Molnar
2006-09-16 19:51                                                           ` Karim Yaghmour
2006-09-16 23:40                                                         ` Ingo Molnar
2006-09-17  5:33                                                           ` Mathieu Desnoyers
2006-09-16 18:11                                                       ` Karim Yaghmour
2006-09-16 17:44                                                         ` Ingo Molnar
2006-09-16 18:15                                                           ` Karim Yaghmour
2006-09-18  8:18                                                             ` Jes Sorensen
2006-09-16 17:55                                                     ` Karim Yaghmour
2006-09-18  8:21                                                       ` Jes Sorensen
2006-09-18  8:33                                                     ` Jes Sorensen
2006-09-18 15:01                                                       ` Mathieu Desnoyers
2006-09-16 17:30                                                   ` Mathieu Desnoyers
2006-09-18  8:15                                                     ` Jes Sorensen
2006-09-18 14:53                                                       ` Mathieu Desnoyers
2006-09-18 15:17                                                         ` Ingo Molnar
2006-09-18 16:54                                                           ` Mathieu Desnoyers
2006-09-15 21:12                                               ` Roman Zippel
2006-09-15 21:08                                                 ` Ingo Molnar
2006-09-15 20:13                                           ` Andrew Morton
2006-09-15 21:49                                             ` Jose R. Santos
2006-09-16 10:19                                             ` Jes Sorensen
2006-09-16 16:05                                               ` Karim Yaghmour
2006-09-17  4:54                                                 ` Ganesan Rajagopal
2006-09-18  8:13                                                 ` Jes Sorensen
2006-09-18 14:46                                                   ` Mathieu Desnoyers
2006-09-18 17:06                                                   ` Martin Bligh
2006-09-20 14:17                                                     ` Jes Sorensen
2006-09-15 19:35                                         ` Thomas Gleixner
2006-09-15 19:40                                           ` Ingo Molnar
2006-09-15 19:56                                           ` Karim Yaghmour
2006-09-15 20:23                                             ` Thomas Gleixner
2006-09-15 20:40                                               ` Roman Zippel
2006-09-15 20:48                                                 ` Ingo Molnar
2006-09-15 21:17                                                   ` Karim Yaghmour
2006-09-15 21:15                                                     ` Ingo Molnar
2006-09-15 21:56                                                       ` Karim Yaghmour
2006-09-15 21:27                                                   ` Roman Zippel
2006-09-15 21:51                                                     ` Ingo Molnar
2006-09-15 22:15                                                       ` Karim Yaghmour
2006-09-15 22:53                                                       ` Roman Zippel
2006-09-15 23:14                                                         ` Ingo Molnar
2006-09-15 23:49                                                           ` Nicholas Miell
2006-09-15 23:57                                                             ` Ingo Molnar
2006-09-16  0:41                                                               ` Nicholas Miell
2006-09-16  0:31                                                           ` Roman Zippel
2006-09-16  8:20                                                             ` Ingo Molnar
2006-09-16  8:21                                                             ` Ingo Molnar
2006-09-16  8:21                                                             ` Ingo Molnar
2006-09-16  8:22                                                             ` Ingo Molnar
2006-09-16 19:58                                                               ` Roman Zippel
2006-09-16 22:50                                                                 ` Ingo Molnar
2006-09-16 23:00                                                                 ` Ingo Molnar
2006-09-17  1:15                                                                   ` Roman Zippel
2006-09-17  8:42                                                                     ` Ingo Molnar
2006-09-17 15:16                                                                       ` Roman Zippel
2006-09-17 15:25                                                                         ` Ingo Molnar
2006-09-17 16:02                                                                           ` Roman Zippel
2006-09-17 16:45                                                                             ` Ingo Molnar
2006-09-17 16:59                                                                             ` Nick Piggin
2006-09-17 17:26                                                                               ` Roman Zippel
2006-09-17 17:56                                                                                 ` Nick Piggin
2006-09-17 18:59                                                                                   ` Roman Zippel
2006-09-17 21:23                                                                                     ` Ingo Molnar
2006-09-17 21:52                                                                                       ` Roman Zippel
2006-09-17 22:27                                                                                         ` Ingo Molnar
2006-09-17 21:40                                                                                     ` Ingo Molnar
2006-09-18  8:43                                                                                     ` Jes Sorensen
2006-09-17 21:32                                                                                   ` Ingo Molnar
2006-09-17 19:23                                                                                 ` Ingo Molnar
2006-09-17 19:45                                                                                   ` Roman Zippel
2006-09-17 20:56                                                                                     ` Ingo Molnar
2006-09-17 21:36                                                                                       ` Roman Zippel
2006-09-17 22:13                                                                                         ` Ingo Molnar
2006-09-16 23:14                                                                 ` Ingo Molnar
2006-09-17 14:19                                                                   ` Frank Ch. Eigler
2006-09-17 15:31                                                                     ` Ingo Molnar
2006-09-17 17:15                                                                       ` Mathieu Desnoyers
     [not found]                                                                   ` <y0mu036eglz.fsf@ton.toronto.redhat.com>
2006-09-17 15:00                                                                     ` Ingo Molnar
2006-09-16  8:23                                                             ` Ingo Molnar
2006-09-16  8:23                                                             ` Ingo Molnar
2006-09-16  8:23                                                             ` Ingo Molnar
2006-09-15 21:05                                               ` Karim Yaghmour
2006-09-15 21:17                                                 ` Thomas Gleixner
2006-09-15 21:31                                                   ` Karim Yaghmour
2006-09-15 20:00                                         ` Mathieu Desnoyers
2006-09-15 20:27                                           ` Jose R. Santos
2006-09-15 20:37                                         ` Alan Cox
2006-09-15 20:26                                           ` Mathieu Desnoyers
2006-09-15 20:51                                           ` Karim Yaghmour
2006-09-17 17:53                                           ` Mathieu Desnoyers
2006-09-17 19:35                                           ` printk instrumentation with LTTng Mathieu Desnoyers
2006-09-15 15:24                                     ` [PATCH 0/11] LTTng-core (basic tracing infrastructure) 0.5.108 Alan Cox
2006-09-15 15:23                                       ` Karim Yaghmour
2006-09-15 14:39                                 ` Jes Sorensen
2006-09-15 15:04                                   ` Karim Yaghmour
2006-09-14 19:40               ` Tim Bird
2006-09-14 20:00                 ` Ingo Molnar
2006-09-14 20:46                   ` Karim Yaghmour
2006-09-19 12:05                     ` Christoph Hellwig
2006-09-14 21:02                   ` Roman Zippel
2006-09-15 11:40                 ` Alan Cox
2006-09-15 11:46                   ` Roman Zippel
2006-09-15 12:38                     ` Alan Cox
2006-09-15 12:39                       ` Roman Zippel
2006-09-15 13:41                         ` Alan Cox
2006-09-15 13:34                           ` Roman Zippel
2006-09-15 14:41                             ` Alan Cox
2006-09-15 14:35                               ` Karim Yaghmour
2006-09-15 14:58                                 ` Alan Cox
2006-09-15 14:57                                   ` Karim Yaghmour
2006-09-15 17:49                                     ` Andrew Morton
2006-09-15 18:20                                       ` Karim Yaghmour
2006-09-15 17:01                                   ` Tim Bird
2006-09-15 17:08                                   ` Frank Ch. Eigler
2006-09-15 17:57                                     ` Andrew Morton
2006-09-15 18:31                                     ` Alan Cox
2006-09-15 18:12                                       ` Ingo Molnar
2006-09-15 19:10                                         ` Roman Zippel
2006-09-15 19:10                                           ` Ingo Molnar
2006-09-15 20:05                                           ` Thomas Gleixner
2006-09-15 20:35                                             ` Roman Zippel
2006-09-15 21:44                                             ` Tim Bird
2006-09-19 12:29                                           ` Christoph Hellwig
2006-09-19 13:17                                             ` Roman Zippel
2006-09-15 18:24                                       ` Frank Ch. Eigler
2006-09-15 18:23                                         ` Ingo Molnar
2006-09-15 18:18                                   ` Martin Bligh
2006-09-15 18:10                           ` Jose R. Santos
2006-09-15 19:49                             ` Mathieu Desnoyers
2006-09-15 20:54                               ` Jose R. Santos
2006-09-15 21:42                                 ` Karim Yaghmour
2006-09-15 21:46                                 ` Mathieu Desnoyers
2006-09-19 15:05                                   ` Jose R. Santos
2006-09-19 15:30                                     ` Mathieu Desnoyers
2006-09-19 16:39                                       ` Jose R. Santos
2006-09-19 18:03                                         ` Mathieu Desnoyers
2006-09-15 17:45                       ` Andrew Morton
2006-09-15 18:16                         ` Karim Yaghmour
2006-09-15 19:20                           ` Jose R. Santos
2006-09-15 19:59                           ` Andrew Morton
2006-09-15 20:24                             ` Karim Yaghmour
2006-09-15 20:25                               ` Thomas Gleixner
2006-09-14 19:47               ` Roman Zippel
2006-09-14 20:24                 ` Ingo Molnar
2006-09-14 20:54                   ` Roman Zippel
2006-09-14 21:08                     ` Daniel Walker
2006-09-14 21:30                       ` Roman Zippel
2006-09-14 22:15                         ` Ingo Molnar
2006-09-14 23:39                           ` Roman Zippel
2006-09-14 23:43                             ` Ingo Molnar
2006-09-15  0:27                               ` Roman Zippel
2006-09-15  1:47                   ` Mathieu Desnoyers
2006-09-15  5:47                     ` Vara Prasad
2006-09-14 18:12           ` Karim Yaghmour
2006-09-14 20:25           ` Martin Bligh
2006-09-14 20:34             ` Ingo Molnar
2006-09-14 20:55               ` Martin Bligh
2006-09-14 21:31                 ` Ingo Molnar
2006-09-14 22:25                   ` Martin Bligh
2006-09-14 22:36                     ` Ingo Molnar
2006-09-14 22:59                       ` Martin Bligh [this message]
2006-09-14 23:19                         ` Ingo Molnar
2006-09-15  0:19                           ` Nicholas Miell
2006-09-15  1:04                           ` Martin J. Bligh
2006-09-15 12:38                             ` Ingo Molnar
2006-09-15  7:00                         ` Vara Prasad
2006-09-15 15:37                       ` Michel Dagenais
2006-09-19 12:08                 ` Christoph Hellwig
2006-09-14 21:07               ` Roman Zippel
2006-09-15  9:29               ` Jes Sorensen
2006-09-14 17:51         ` Karim Yaghmour
2006-09-14 15:19       ` Mathieu Desnoyers
2006-09-14 19:39         ` Frank Ch. Eigler
2006-09-15 17:13         ` Jose R. Santos
2006-09-14 15:02   ` Mathieu Desnoyers
2006-09-14 15:14   ` Martin J. Bligh
2006-09-14 17:43     ` Ingo Molnar
2006-09-14 18:25       ` Karim Yaghmour
2006-09-14 20:03       ` Martin Bligh
2006-09-14 20:14         ` Ingo Molnar
2006-09-14 20:40           ` Martin Bligh
2006-09-14 21:05           ` Michel Dagenais
2006-09-14 22:23             ` Ingo Molnar
2006-09-14 22:46               ` Martin Bligh
2006-09-14 22:56                 ` Ingo Molnar
2006-09-14 19:03     ` grundig
2006-09-14 19:21       ` Karim Yaghmour
2006-09-14 19:48     ` Frank Ch. Eigler
2006-09-15 16:32       ` Jose R. Santos
2006-09-19 11:59   ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2006-09-15  3:10 James Dickens
2006-09-15  9:17 Richard J Moore
2006-09-15 17:14 Chuck Ebbert
2006-09-15 18:32 ` Alan Cox
2006-09-16 10:46 ` Jes Sorensen
2006-09-25 15:20 Chuck Ebbert
2006-09-25 15:39 ` Ingo Molnar

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=4509DEC3.70806@mbligh.org \
    --to=mbligh@mbligh.org \
    --cc=akpm@osdl.org \
    --cc=fche@redhat.com \
    --cc=gregkh@suse.de \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ltt-dev@shafik.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=michel.dagenais@polymtl.ca \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=zanussi@us.ibm.com \
    --cc=zippel@linux-m68k.org \
    /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