All of lore.kernel.org
 help / color / mirror / Atom feed
From: "K.Prasad" <prasad@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Avi Kivity <avi@redhat.com>,
	Arnaldo Carvalho de Melo <acme@infradead.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Mark Wielaard <mjw@redhat.com>,
	utrace-devel <utrace-devel@redhat.com>
Subject: Re: [RFC] [PATCH 1/7] User Space Breakpoint Assistance Layer (UBP)
Date: Mon, 18 Jan 2010 19:04:45 +0530	[thread overview]
Message-ID: <20100118133444.GA23680@in.ibm.com> (raw)
In-Reply-To: <1263820551.4283.499.camel@laptop>

On Mon, Jan 18, 2010 at 02:15:51PM +0100, Peter Zijlstra wrote:
> On Mon, 2010-01-18 at 14:37 +0200, Avi Kivity wrote:
> > On 01/18/2010 02:14 PM, Peter Zijlstra wrote:
> > >
> > >> Well, the alternatives are very unappealing.  Emulation and
> > >> single-stepping are going to be very slow compared to a couple of jumps.
> > >>      
> > > With CPL2 or RPL on user segments the protection issue seems to be
> > > manageable for running the instructions from kernel space.
> > >    
> > 
> > CPL2 gives unrestricted access to the kernel address space; and RPL does 
> > not affect page level protection.  Segment limits don't work on x86-64.  
> > But perhaps I missed something - these things are tricky.
> 
> So setting RPL to 3 on the user segments allows access to kernel pages
> just fine? How useful.. :/
> 
> > It should be possible to translate the instruction into an address space 
> > check, followed by the action, but that's still slower due to privilege 
> > level switches.
> 
> Well, if you manage to do the address validation you don't need the priv
> level switch anymore, right?
> 
> Are the ins encodings sane enough to recognize mem parameters without
> needing to know the actual ins?
> 
> How about using a hw-breakpoint to close the gap for the inline single
> step? You could even re-insert the int3 lazily when you need the
> hw-breakpoint again. It would consume one hw-breakpoint register for
> each task/cpu that has probes though..
>

A very scarce resource that it is, well, sometimes all that we might have
is just one hw-breakpoint register (like older PPC64 with 1 IABR) in the
system. If one process/thread consumes it, then all other contenders (from
both kernel and user-space) are prevented from acquiring it.

Also to mention the existence of processors with no support for
instruction breakpoints.

Thanks,
K.Prasad


  parent reply	other threads:[~2010-01-18 13:34 UTC|newest]

Thread overview: 163+ 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 [this message]
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 ` [RFC] [PATCH 0/7] UBP, XOL and Uprobes Masami Hiramatsu
2010-01-11 22:59   ` 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
2010-01-16 23:48 [RFC] [PATCH 1/7] User Space Breakpoint Assistance Layer (UBP) Jim Keniston
2010-01-18  7:23 ` Peter Zijlstra
2010-01-18 15:58 ` Masami Hiramatsu
2010-01-18 19:21   ` Jim Keniston
2010-01-18 21:20     ` Masami Hiramatsu

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=20100118133444.GA23680@in.ibm.com \
    --to=prasad@linux.vnet.ibm.com \
    --cc=acme@infradead.org \
    --cc=avi@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjw@redhat.com \
    --cc=peterz@infradead.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.