public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: "Frank Ch. Eigler" <fche@redhat.com>,
	       Andrew Morton <akpm@linux-foundation.org>,
	int-list-linux-mm@kvack.org,        linux-mm@kvack.org,
	Peter Zijlstra <peterz@infradead.org>,
	       Ingo Molnar <mingo@elte.hu>,
	Steven Rostedt <rostedt@goodmis.org>,
	       Arnaldo Carvalho de Melo <acme@infradead.org>,
	       Linus Torvalds <torvalds@linux-foundation.org>,
	       Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
	       Christoph Hellwig <hch@infradead.org>,
	       Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
	       Andi Kleen <andi@firstfloor.org>,
	Oleg Nesterov <oleg@redhat.com>,
	       Jim Keniston <jkenisto@linux.vnet.ibm.com>,
	       SystemTap <systemtap@sources.redhat.com>,
	       LKML <linux-kernel@vger.kernel.org>,
	       "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: Re: [PATCH v2 2.6.38-rc8-tip 0/20] 0: Inode based uprobes
Date: Tue, 15 Mar 2011 05:27:00 -0000	[thread overview]
Message-ID: <20110315052133.GT24254@linux.vnet.ibm.com> (raw)
In-Reply-To: <alpine.LFD.2.00.1103150224260.2787@localhost6.localdomain6>

Hi Thomas,

> > 
> > > [...]  How do you envisage these features actually get used?
> > 
> > Patch #20/20 in the set includes an ftrace-flavoured debugfs frontend.
> 
> And you really think that:
> 
> # cd /sys/kernel/debug/tracing/
> 
> # cat /proc/`pgrep  zsh`/maps | grep /bin/zsh | grep r-xp
> 00400000-0048a000 r-xp 00000000 08:03 130904 /bin/zsh
> 
> # objdump -T /bin/zsh | grep -w zfree
> 0000000000446420 g    DF .text  0000000000000012  Base        zfree
> 
> # echo 'p /bin/zsh:0x46420 %ip %ax' > uprobe_events
> 
> # cat uprobe_events
> p:uprobes/p_zsh_0x46420 /bin/zsh:0x0000000000046420
> 
> > TODO: Documentation/trace/uprobetrace.txt
> 
> without a reasonable documentation how to use that is a brilliant
> argument?

We had a fairly decent documentation for uprobes and
uprobetracer. But that had to be changed with  the change in
underlying design of uprobes infrastructure. Since uprobetrace is one
the user interface, I plan to document it soon. However it would be
great if we had inputs on how we should be designing the syscall.

> 
> > Previous versions of the patchset included perf front-ends too, which
> > are probably to be seen again.
> 
> Ahh, probably. What does that mean?
> 
>      And if that probably happens, what interface is that supposed to
>      use?
> 
> 	The above magic wrapped into perf ?

For the initial perf probe thing, yes it would be a wrapper over
uprobe_tracer.  That is because we can reuse most of the current perf
probe and we could prototype and show users what all can be
achieved. However we plan to make perf probe depend on the syscall when
the syscall takes shape.  

> 
> 	Or some sensible implementation ?

Would syscall based perf probe implementation count as a sensible
implementation? My current plan was to code up the perf probe for
uprobes and then draft a proposal for how the syscall should look. 
There are still some areas on how we should be allowing the
filter, and what restrictions we should place on the syscall
defined handler. I would like to hear from you and others on your
ideas for the same. If you have ideas on doing it other than using a
syscall then please do let me know about the same.

I know that getting the user interface right is very important.
However I think it kind of depends on what the infrastructure can
provide too. So if we can decide on the kernel ABI and the
underlying design (i.e can we use replace_page() based background page
replacement, Are there issues with the Xol slot based mechanism that
we are using, etc), we can work towards providing a stable User ABI that
even normal users can use. For now I am concentrating on getting the
underlying infrastructure correct.


Please let me know your thoughts.

-- 
Thanks and Regards
Srikar

  reply	other threads:[~2011-03-15  5:27 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-14 13:40 Srikar Dronamraju
2011-03-14 13:40 ` [PATCH v2 2.6.38-rc8-tip 3/20] 3: uprobes: Breakground page replacement Srikar Dronamraju
2011-03-14 15:29   ` Steven Rostedt
2011-03-14 15:39   ` Steven Rostedt
2011-03-14 17:30     ` Srikar Dronamraju
2011-03-14 18:21       ` Steven Rostedt
2011-03-14 18:22       ` Steven Rostedt
2011-03-14 16:59   ` Stephen Wilson
2011-03-14 17:36     ` Srikar Dronamraju
2011-03-15 13:23   ` Thomas Gleixner
2011-03-15 17:57     ` Srikar Dronamraju
2011-03-15 18:04       ` Thomas Gleixner
2011-03-15 18:13         ` Srikar Dronamraju
2011-03-14 13:40 ` [PATCH v2 2.6.38-rc8-tip 1/20] 1: mm: Move replace_page() to mm/memory.c Srikar Dronamraju
2011-03-14 14:16   ` Steven Rostedt
2011-03-14 17:08     ` Srikar Dronamraju
2011-03-14 17:14       ` Steven Rostedt
2011-03-14 17:35         ` Srikar Dronamraju
2011-03-14 13:40 ` [PATCH v2 2.6.38-rc8-tip 4/20] 4: uprobes: Adding and remove a uprobe in a rb tree Srikar Dronamraju
2011-03-15 13:40   ` Thomas Gleixner
2011-03-15 13:43     ` Steven Rostedt
2011-03-15 17:36     ` Srikar Dronamraju
2011-03-15 19:41       ` Thomas Gleixner
2011-03-15 19:46         ` Peter Zijlstra
2011-03-15 22:42           ` Eric Dumazet
2011-03-16  7:52             ` Peter Zijlstra
2011-03-14 13:40 ` [PATCH v2 2.6.38-rc8-tip 5/20] 5: Uprobes: register/unregister probes Srikar Dronamraju
2011-03-14 16:00   ` Steven Rostedt
2011-03-14 17:38     ` Srikar Dronamraju
2011-03-15 14:30   ` Thomas Gleixner
2011-03-15 17:21     ` Srikar Dronamraju
2011-03-15 17:47       ` Steven Rostedt
2011-03-15 17:51         ` Peter Zijlstra
2011-03-15 18:10           ` Srikar Dronamraju
2011-03-15 18:16             ` Peter Zijlstra
2011-03-18 19:00               ` Srikar Dronamraju
2011-03-15 18:17       ` Thomas Gleixner
2011-03-14 13:40 ` [PATCH v2 2.6.38-rc8-tip 2/20] 2: X86 specific breakpoint definitions Srikar Dronamraju
2011-03-14 13:41 ` [PATCH v2 2.6.38-rc8-tip 7/20] 7: uprobes: store/restore original instruction Srikar Dronamraju
2011-03-14 18:10   ` Stephen Wilson
2011-03-15  9:29     ` Srikar Dronamraju
2011-03-15 13:48       ` Steven Rostedt
2011-03-15 16:17         ` Stephen Wilson
2011-03-15 16:21           ` Steven Rostedt
2011-03-15 16:24           ` Srikar Dronamraju
2011-03-15 17:58       ` Peter Zijlstra
2011-03-15 18:59         ` Balbir Singh
2011-03-15 19:28           ` Peter Zijlstra
2011-03-15 19:32             ` Steven Rostedt
2011-03-16  5:51               ` Balbir Singh
2011-03-16 17:40                 ` Steven Rostedt
2011-03-15 14:43   ` Thomas Gleixner
2011-03-15 16:31     ` Srikar Dronamraju
2011-03-14 13:41 ` [PATCH v2 2.6.38-rc8-tip 10/20] 10: uprobes: task specific information Srikar Dronamraju
2011-03-14 13:41 ` [PATCH v2 2.6.38-rc8-tip 9/20] 9: x86: architecture specific task information Srikar Dronamraju
2011-03-14 13:41 ` [PATCH v2 2.6.38-rc8-tip 6/20] 6: x86: analyze instruction and determine fixups Srikar Dronamraju
2011-03-15 14:38   ` Thomas Gleixner
2011-03-18 18:31     ` Srikar Dronamraju
2011-03-18 18:36       ` Roland McGrath
2011-03-18 18:56         ` Srikar Dronamraju
2011-03-18 19:10           ` Roland McGrath
2011-03-18 19:13           ` Srikar Dronamraju
2011-03-14 13:41 ` [PATCH v2 2.6.38-rc8-tip 8/20] 8: uprobes: mmap and fork hooks Srikar Dronamraju
2011-03-14 13:42 ` [PATCH v2 2.6.38-rc8-tip 12/20] 12: uprobes: get the breakpoint address Srikar Dronamraju
2011-03-14 13:42 ` [PATCH v2 2.6.38-rc8-tip 11/20] 11: uprobes: slot allocation for uprobes Srikar Dronamraju
2011-03-15 19:10   ` Jonathan Corbet
2011-03-16  5:04     ` Srikar Dronamraju
2011-03-15 20:32   ` Stephen Wilson
2011-03-16  4:57     ` Srikar Dronamraju
2011-03-14 13:42 ` [PATCH v2 2.6.38-rc8-tip 16/20] 16: uprobes: register a notifier " Srikar Dronamraju
2011-03-15 19:57   ` Stephen Wilson
2011-03-18 19:35     ` Srikar Dronamraju
2011-03-14 13:42 ` [PATCH v2 2.6.38-rc8-tip 14/20] 14: uprobes: Handing int3 and singlestep exception Srikar Dronamraju
2011-03-14 13:42 ` [PATCH v2 2.6.38-rc8-tip 13/20] 13: x86: x86 specific probe handling Srikar Dronamraju
2011-03-14 13:42 ` [PATCH v2 2.6.38-rc8-tip 15/20] 15: x86: uprobes exception notifier for x86 Srikar Dronamraju
2011-03-14 13:43 ` [PATCH v2 2.6.38-rc8-tip 19/20] 19: tracing: Extract out common code for kprobes/uprobes traceevents Srikar Dronamraju
2011-03-14 13:43 ` [PATCH v2 2.6.38-rc8-tip 17/20] 17: uprobes: filter chain Srikar Dronamraju
2011-03-15 19:51   ` Stephen Wilson
2011-03-18 19:23     ` Srikar Dronamraju
2011-03-18 22:11       ` Stephen Wilson
2011-03-14 13:43 ` [PATCH v2 2.6.38-rc8-tip 18/20] 18: uprobes: commonly used filters Srikar Dronamraju
2011-03-14 13:43 ` [PATCH v2 2.6.38-rc8-tip 20/20] 20: tracing: uprobes trace_event interface Srikar Dronamraju
2011-03-14 23:31 ` [PATCH v2 2.6.38-rc8-tip 0/20] 0: Inode based uprobes Andrew Morton
2011-03-14 23:48   ` Andi Kleen
2011-03-15  0:23     ` Thomas Gleixner
2011-03-15 18:06       ` Andi Kleen
2011-03-15 20:02         ` Thomas Gleixner
2011-03-15 20:01           ` Steven Rostedt
2011-03-15 20:25             ` Thomas Gleixner
2011-03-15 20:44               ` Steven Rostedt
2011-03-16 17:32                 ` Tom Tromey
2011-03-16 17:44                   ` Steven Rostedt
2011-03-16 17:27               ` Tom Tromey
2011-03-15  1:13   ` Frank Ch. Eigler
2011-03-15  1:36     ` Thomas Gleixner
2011-03-15  5:27       ` Srikar Dronamraju [this message]
2011-03-15 11:04         ` Thomas Gleixner
2011-03-15 11:44           ` Srikar Dronamraju
2011-03-15  2:03   ` Srikar Dronamraju
2011-03-15  2:52   ` Steven Rostedt

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=20110315052133.GT24254@linux.vnet.ibm.com \
    --to=srikar@linux.vnet.ibm.com \
    --cc=acme@infradead.org \
    --cc=akpm@linux-foundation.org \
    --cc=ananth@in.ibm.com \
    --cc=andi@firstfloor.org \
    --cc=fche@redhat.com \
    --cc=hch@infradead.org \
    --cc=int-list-linux-mm@kvack.org \
    --cc=jkenisto@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=masami.hiramatsu.pt@hitachi.com \
    --cc=mingo@elte.hu \
    --cc=oleg@redhat.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=systemtap@sources.redhat.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).