lkml.org 
[lkml]   [2009]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/3] utrace-based ftrace "process" engine, v2
On Mon, Mar 23, 2009 at 10:54:09PM -0700, Andrew Morton wrote:
> On Tue, 24 Mar 2009 10:59:26 +0530 Ananth N Mavinakayanahalli <ananth@in.ibm.com> wrote:
>
> > On Sat, Mar 21, 2009 at 05:04:22AM -0700, Andrew Morton wrote:
> > > On Sat, 21 Mar 2009 07:51:41 -0400 "Frank Ch. Eigler" <fche@redhat.com> wrote:
> > > > On Sat, Mar 21, 2009 at 04:19:54AM -0700, Andrew Morton wrote:
> > >
> > > I have strong memories of being traumatised by reading the uprobes code.
> >
> > That was a long time ago wasn't it? :-)
> >
> > That approach was a carry over from an implementation from dprobes that
> > used readdir hooks. Yes, that was not the most elegant approach, as such
> > has long been shelved.
> >
> > > What's the story on all of that nowadays?
> >
> > Utrace makes implementing uprobes more cleaner. We have a prototype that
> > implements uprobes over utrace. Its per process, doesn't use any
> > in-kernel hooks, etc. It currently has a kprobes like interface (needs a
> > kernel module), but it shouldn't be difficult to adapt it to use
> > utrace's user interfaces (syscalls?) when those come around. The current
> > generation of uprobes that has all the bells and whistles can be found at
> > http://sources.redhat.com/git/gitweb.cgi?p=systemtap.git;a=tree;f=runtime/uprobes2
> >
> > However, there are aspects of the current uprobes that can be useful to
> > any other userspace tracer: instruction analysis, breakpoint insertion
> > and removal, single-stepping support. With these layered on top of
> > utrace, building userspace debug/trace tools that depend on utrace
> > should be easier, outside of ptrace.
> >
> > Work is currently on to factor these layers out. The intention is to
> > upstream all the bits required for userspace tracing once utrace gets
> > in, along with an easy to use interface for userspace developers
> > (a /proc or /debugfs interface?) -- one should be able to use it on
> > its own or with SystemTap, whatever they prefer. Details are still hazy
> > at the moment.
> >
> > But, utrace is the foundation to do all of that.
> >
>
> The sticking point was uprobes's modification of live pagecache. We said
> "ick, COW the pages" and you said "too expensive". And there things
> remained.
>
> Is that all going to happen again?

No. All modifications are via access_process_vm().

Ananth


\
 
 \ /
  Last update: 2009-03-24 07:13    [W:0.815 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site