linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Masami Hiramatsu <mhiramat@redhat.com>
To: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@elte.hu>,
	Arnaldo Carvalho de Melo <acme@infradead.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
	utrace-devel <utrace-devel@redhat.com>,
	Mark Wielaard <mjw@redhat.com>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Maneesh Soni <maneesh@in.ibm.com>,
	Jim Keniston <jkenisto@us.ibm.com>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] [PATCH 0/7] UBP, XOL and Uprobes
Date: Mon, 11 Jan 2010 09:35:39 -0500	[thread overview]
Message-ID: <4B4B373B.5010802@redhat.com> (raw)
In-Reply-To: <20100111122521.22050.3654.sendpatchset@srikar.in.ibm.com>

Srikar Dronamraju wrote:
> Hi, 
> 
> This patchset implements Uprobes which enables you to dynamically
> break into any routine in a user space application and collect
> information non-disruptively.  Uprobes is based on utrace and uses
> x86 instruction decoder.
> 
> When a uprobe is registered, Uprobes makes a copy of the probed
> instruction, stops the probed application, replaces the first
> byte(s) of the probed instruction with a breakpoint instruction and
> allows the probed application to continue.  (Uprobes uses the same
> copy-on-write mechanism so that the breakpoint affects only that
> process.)
> 
> When a CPU hits the breakpoint instruction, Uprobes intercepts the
> SIGTRAP and finds the associated uprobe.  It then executes the
> associated handler.  Uprobes single-steps its copy of the probed
> instruction and resumes execution of the probed process at the
> instruction following the probepoint. Instruction copies to be
> single-stepped are stored in a per-process "single-step out of line
> (XOL) area,"
> 
> Uprobes can be used to take advantage of static markers available
> in user space applications.
> 
> Advantages of uprobes over conventional debugging include:
> 1. Non-disruptive.
> 2. Uses Execution out of line(XOL), 
> 3. Much better handling of multithreaded programs because of XOL.
> 4. No context switch between tracer, tracee.

Hi Srikar and Jim,

Great work! thanks for releasing it.

> 
> Here is the list of TODO Items.
> 
> - Provide a perf interface to uprobes.

I think we also need to integrate ftrace-kprobe/uprobe to support
dynamic trace event. it helps perf probe to support uprobe much
easier. 

> - Return probes.

Hmm, I think we need some symbol information for supporting
return probes in user space. Could you tell me how to work it?
is that requires some user-space helper?

> - Support for Other Architectures.
> - Jump optimization.

I assume that you meant this is "uprobe-booster" to skip
just single stepping after probing, isn't it?


Thank you,
-- 
Masami Hiramatsu

Software Engineer
Hitachi Computer Products (America), Inc.
Software Solutions Division

e-mail: mhiramat@redhat.com


  parent reply	other threads:[~2010-01-11 14:36 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-11 12:25 [RFC] [PATCH 0/7] UBP, XOL and Uprobes Srikar Dronamraju
2010-01-11 12:25 ` [RFC] [PATCH 1/7] User Space Breakpoint Assistance Layer (UBP) Srikar Dronamraju
2010-01-14 11:08   ` Peter Zijlstra
2010-01-14 19:46     ` Jim Keniston
2010-01-15  9:02       ` Peter Zijlstra
2010-01-15 21:07         ` Jim Keniston
2010-01-15 21:49           ` Peter Zijlstra
2010-01-16  0:58             ` Jim Keniston
2010-01-16 10:33               ` Peter Zijlstra
2010-01-17  0:12               ` Bryan Donlan
2010-01-18  7:37                 ` Peter Zijlstra
2010-01-17 14:37               ` Avi Kivity
2010-01-15  9:03       ` Peter Zijlstra
2010-01-15  9:38         ` Ananth N Mavinakayanahalli
2010-01-15  9:50           ` Peter Zijlstra
2010-01-15 10:10             ` Ananth N Mavinakayanahalli
2010-01-15 10:13               ` Peter Zijlstra
2010-01-15 10:22                 ` Ananth N Mavinakayanahalli
2010-01-15 10:56                   ` Peter Zijlstra
2010-01-15 11:02                     ` Peter Zijlstra
2010-01-15 21:19             ` Jim Keniston
2010-01-17 14:39             ` Avi Kivity
2010-01-17 14:52               ` Peter Zijlstra
2010-01-17 14:56                 ` Avi Kivity
2010-01-17 15:01                   ` Peter Zijlstra
2010-01-20 12:55                     ` Pavel Machek
2010-01-17 14:59                 ` Avi Kivity
2010-01-17 15:03                   ` Peter Zijlstra
2010-01-17 19:33                     ` Avi Kivity
2010-01-18  7:45                       ` Peter Zijlstra
2010-01-18 11:01                         ` Avi Kivity
2010-01-18 11:44                           ` Peter Zijlstra
2010-01-18 12:01                             ` Avi Kivity
2010-01-18 12:06                               ` Peter Zijlstra
2010-01-18 12:09                                 ` Avi Kivity
2010-01-18 12:13                                   ` Pekka Enberg
2010-01-18 12:17                                     ` Avi Kivity
2010-01-18 12:24                                       ` Peter Zijlstra
2010-01-18 12:24                                       ` Pekka Enberg
2010-01-18 12:44                                       ` Srikar Dronamraju
2010-01-18 12:51                                         ` Pekka Enberg
2010-01-18 12:53                                           ` Avi Kivity
2010-01-18 12:57                                             ` Pekka Enberg
2010-01-18 13:06                                               ` Avi Kivity
2010-01-18 22:15                                               ` Jim Keniston
2010-01-19  8:07                                                 ` Avi Kivity
2010-01-19 17:47                                                   ` Jim Keniston
2010-01-19 18:06                                                     ` Frederic Weisbecker
2010-01-20  6:36                                                       ` Srikar Dronamraju
2010-01-20 10:51                                                         ` Frederic Weisbecker
2010-01-20 19:31                                                       ` Masami Hiramatsu
2010-01-20  9:43                                                     ` Avi Kivity
2010-01-20  9:57                                                       ` Peter Zijlstra
2010-01-20 12:22                                                         ` Avi Kivity
2010-01-27  8:24                                                           ` Ingo Molnar
2010-01-27  8:35                                                             ` Avi Kivity
2010-01-27  9:08                                                               ` Ingo Molnar
2010-01-27  9:25                                                                 ` Avi Kivity
2010-01-27 10:23                                                                   ` Ingo Molnar
2010-02-07 13:47                                                                     ` Avi Kivity
2010-01-20 10:45                                                       ` Srikar Dronamraju
2010-01-20 12:23                                                         ` Avi Kivity
2010-01-20 18:31                                                     ` Andi Kleen
2010-01-20 19:34                                                       ` Jim Keniston
2010-01-20 19:58                                                         ` Andi Kleen
2010-01-20 20:28                                                           ` Jim Keniston
2010-01-18 13:05                                             ` Peter Zijlstra
2010-01-18 13:34                                             ` Mark Wielaard
2010-01-18 19:49                                               ` Jim Keniston
2010-01-18 15:43                                     ` Ananth N Mavinakayanahalli
2010-01-18 16:52                                       ` Avi Kivity
2010-01-18 17:10                                         ` Ananth N Mavinakayanahalli
2010-01-18 12:14                                   ` Peter Zijlstra
2010-01-18 12:37                                     ` Avi Kivity
2010-01-18 13:15                                       ` Peter Zijlstra
2010-01-18 13:33                                         ` Avi Kivity
2010-01-18 13:34                                         ` K.Prasad
2010-01-20 15:57                                         ` Mel Gorman
2010-01-20 18:32                                     ` Andi Kleen
2010-01-18 11:45                           ` Peter Zijlstra
2010-01-11 12:25 ` [RFC] [PATCH 2/7] x86 support for UBP Srikar Dronamraju
2010-01-11 12:25 ` [RFC] [PATCH 3/7] Execution out of line (XOL) Srikar Dronamraju
2010-01-14 11:08   ` Peter Zijlstra
2010-01-14 22:43     ` Jim Keniston
2010-01-15  9:07       ` Peter Zijlstra
2010-01-15 11:12         ` Srikar Dronamraju
2010-01-15 20:18         ` Jim Keniston
2010-01-11 12:25 ` [RFC] [PATCH 4/7] Uprobes Implementation Srikar Dronamraju
2010-01-12  2:01   ` Paul E. McKenney
2010-01-12  8:21     ` Srikar Dronamraju
2010-01-12  5:36   ` Frederic Weisbecker
2010-01-12  8:14     ` Ananth N Mavinakayanahalli
2010-01-13  0:53       ` Jim Keniston
2010-01-14 11:12       ` Peter Zijlstra
2010-01-12  8:54     ` Srikar Dronamraju
2010-01-14 11:09   ` Peter Zijlstra
2010-01-14 22:49     ` Jim Keniston
2010-01-15  9:10       ` Peter Zijlstra
2010-01-15  9:26         ` Frank Ch. Eigler
2010-01-15  9:35           ` Peter Zijlstra
2010-01-15 13:10             ` Frank Ch. Eigler
2010-01-15 13:25               ` Peter Zijlstra
2010-01-15 13:38                 ` Frank Ch. Eigler
2010-01-15 13:47                   ` Peter Zijlstra
2010-01-15 14:00                     ` Frank Ch. Eigler
2010-01-15 14:06                       ` Peter Zijlstra
2010-01-15 14:22                         ` Frank Ch. Eigler
2010-01-15 14:40                           ` Peter Zijlstra
2010-01-15 14:20                     ` Srikar Dronamraju
2010-01-15 14:25                       ` Peter Zijlstra
2010-01-15 23:11                       ` Jim Keniston
2010-01-16 15:50                         ` Frank Ch. Eigler
2010-01-15 10:26         ` Srikar Dronamraju
2010-01-15 10:33           ` Peter Zijlstra
2010-01-15 11:05             ` Maneesh Soni
2010-01-15 11:12               ` Peter Zijlstra
2010-01-15 11:18                 ` Peter Zijlstra
2010-01-15 22:27                   ` Jim Keniston
2010-01-15 23:44                 ` Jim Keniston
2010-01-16 10:04                   ` Peter Zijlstra
2010-01-15 13:08             ` Srikar Dronamraju
2010-01-15 13:16               ` Peter Zijlstra
2010-01-15 13:38                 ` Peter Zijlstra
2010-01-11 12:25 ` [RFC] [PATCH 5/7] X86 Support for Uprobes Srikar Dronamraju
2010-01-14 11:13   ` Peter Zijlstra
2010-01-14 23:07     ` Jim Keniston
2010-01-11 12:26 ` [RFC] [PATCH 6/7] Uprobes Documentation Srikar Dronamraju
2010-01-11 12:26 ` [RFC] [PATCH 7/7] Ftrace plugin for Uprobes Srikar Dronamraju
2010-01-12  4:54   ` Frederic Weisbecker
2010-01-12  5:08     ` Steven Rostedt
2010-01-12  5:44       ` Frederic Weisbecker
2010-01-12 19:12       ` Tim Bird
2010-01-13 21:58       ` Masami Hiramatsu
2010-01-13 22:12         ` Masami Hiramatsu
2010-01-13 23:36           ` Steven Rostedt
2010-01-12 18:54     ` Frank Ch. Eigler
2010-01-12 22:00       ` Masami Hiramatsu
2010-01-12 22:15         ` Frank Ch. Eigler
2010-01-12 22:30           ` Masami Hiramatsu
2010-01-14 11:23   ` Peter Zijlstra
2010-01-14 11:29     ` Peter Zijlstra
2010-01-14 12:16       ` Mark Wielaard
2010-01-14 12:19         ` Peter Zijlstra
2010-01-14 11:35     ` Frederic Weisbecker
2010-01-14 11:43       ` Peter Zijlstra
2010-01-14 12:23         ` Frederic Weisbecker
2010-01-14 12:29           ` Peter Zijlstra
2010-01-18 13:00             ` Frederic Weisbecker
2010-01-11 14:35 ` Masami Hiramatsu [this message]
2010-01-11 22:59   ` [RFC] [PATCH 0/7] UBP, XOL and Uprobes Jim Keniston
2010-01-22  7:02 ` [RFC] [PATCH 0/7] UBP, XOL and Uprobes [ Summary of Comments and actions to be taken ] Srikar Dronamraju
2010-01-22  7:24   ` Ananth N Mavinakayanahalli
2010-01-22 10:47     ` Peter Zijlstra
2010-01-27  6:53     ` Peter Zijlstra
2010-01-27  8:24       ` Peter Zijlstra
2010-01-22 18:06   ` Peter Zijlstra
2010-01-22 18:36     ` Masami Hiramatsu
2010-01-22 23:55     ` Jim Keniston

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=4B4B373B.5010802@redhat.com \
    --to=mhiramat@redhat.com \
    --cc=acme@infradead.org \
    --cc=ananth@in.ibm.com \
    --cc=fweisbec@gmail.com \
    --cc=jkenisto@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maneesh@in.ibm.com \
    --cc=mingo@elte.hu \
    --cc=mjw@redhat.com \
    --cc=peterz@infradead.org \
    --cc=srikar@linux.vnet.ibm.com \
    --cc=utrace-devel@redhat.com \
    /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 NNTP newsgroup(s).