Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753766AbZCXGKm (ORCPT ); Tue, 24 Mar 2009 02:10:42 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752705AbZCXGKc (ORCPT ); Tue, 24 Mar 2009 02:10:32 -0400 Received: from e31.co.us.ibm.com ([32.97.110.149]:50309 "EHLO e31.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752017AbZCXGKb (ORCPT ); Tue, 24 Mar 2009 02:10:31 -0400 Date: Tue, 24 Mar 2009 11:40:24 +0530 From: Ananth N Mavinakayanahalli To: Andrew Morton Cc: "Frank Ch. Eigler" , Peter Zijlstra , linux-kernel@vger.kernel.org, Rostedt , Steven@e28smtp08.in.ibm.com, utrace-devel@redhat.com, Linus Torvalds , Thomas Gleixner , Christoph Hellwig , Jim Keniston Subject: Re: [PATCH 3/3] utrace-based ftrace "process" engine, v2 Message-ID: <20090324061024.GD24018@in.ibm.com> Reply-To: ananth@in.ibm.com References: <20090321013946.890F4FC3AB@magilla.sf.frob.com> <20090321014244.9ADF1FC3AB@magilla.sf.frob.com> <20090321074301.GA19384@elte.hu> <20090321013912.ed6039c9.akpm@linux-foundation.org> <20090321091235.GA29678@elte.hu> <20090321041954.72b99e69.akpm@linux-foundation.org> <20090321115141.GA3566@redhat.com> <20090321050422.d1d99eec.akpm@linux-foundation.org> <20090324052926.GC24018@in.ibm.com> <20090323225409.07bdcbf7.akpm@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090323225409.07bdcbf7.akpm@linux-foundation.org> User-Agent: Mutt/1.5.16 (2007-06-09) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2590 Lines: 55 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 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" 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/