Messages in this thread | | | Date | Tue, 24 Mar 2009 11:40:24 +0530 | From | Ananth N Mavinakayanahalli <> | Subject | Re: [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
| |