[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060915181208.GA17581@elte.hu>
Date: Fri, 15 Sep 2006 20:12:08 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
Cc: "Frank Ch. Eigler" <fche@...hat.com>, karim@...rsys.com,
Roman Zippel <zippel@...ux-m68k.org>,
Tim Bird <tim.bird@...sony.com>,
Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>,
linux-kernel@...r.kernel.org,
Christoph Hellwig <hch@...radead.org>,
Andrew Morton <akpm@...l.org>, Ingo Molnar <mingo@...hat.com>,
Greg Kroah-Hartman <gregkh@...e.de>,
Thomas Gleixner <tglx@...utronix.de>,
Tom Zanussi <zanussi@...ibm.com>, ltt-dev@...fik.org,
Michel Dagenais <michel.dagenais@...ymtl.ca>
Subject: Re: [PATCH 0/11] LTTng-core (basic tracing infrastructure) 0.5.108
* Alan Cox <alan@...rguk.ukuu.org.uk> wrote:
> Ar Gwe, 2006-09-15 am 13:08 -0400, ysgrifennodd Frank Ch. Eigler:
> > Alan Cox <alan@...rguk.ukuu.org.uk> writes:
> > - where 1000-cycle int3-dispatching overheads too high
>
> Why are your despatching overheads 1000 cycles ? (and if its due to
> int3 why are you using int 3 8))
this is being worked on actively: there's the "djprobes" patchset, which
includes a simplified disassembler to analyze common target code and can
thus insert much faster, call-a-trampoline-function based tracepoints
that are just as fast as (or faster than) compile-time, static
tracepoints.
there's no fundamental reason why INT3 should be the primary model of
inserting kprobes. Sometimes we are unlucky and the code which we target
is too complex - then we take a few hundred cycles of a penalty. If that
piece of code is a really common destination then we can add a static
marker in the source which both prepares parameters and inserts a
sufficiently sized NOP (or a function call) to prepare things for fast
dynamic tracing - but it should only be an optional performance helper
that we have the freedom to zap.
(kprobes can be thought of as a special "JIT", and there's no
fundamental reason why it couldnt do almost arbitrary transformations on
kernel code.)
and there's alot more that kprobes/systemtap can do: it can be a method
of extending the kernel along a 'plugin' model - without having to
impact the kernel source! That way people can experiment with kernel
extensions on live kernels, without the barrier of recompile/reboot.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists