From: Peter Zijlstra <peterz@infradead.org>
To: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: 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>,
Andi Kleen <andi@firstfloor.org>, Oleg Nesterov <oleg@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
SystemTap <systemtap@sources.redhat.com>,
Jim Keniston <jkenisto@linux.vnet.ibm.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
LKML <linux-kernel@vger.kernel.org>,
Roland McGrath <roland@redhat.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: Re: [RFC] [PATCH 2.6.37-rc5-tip 13/20] 13: x86: x86 specific probe handling
Date: Thu, 27 Jan 2011 11:22:13 +0100 [thread overview]
Message-ID: <1296123733.15234.53.camel@laptop> (raw)
In-Reply-To: <20110127094041.GR19725@linux.vnet.ibm.com>
On Thu, 2011-01-27 at 15:10 +0530, Srikar Dronamraju wrote:
> * Peter Zijlstra <peterz@infradead.org> [2011-01-25 14:56:22]:
>
> > On Thu, 2010-12-16 at 15:29 +0530, Srikar Dronamraju wrote:
> > >
> > > +void arch_uprobe_enable_sstep(struct pt_regs *regs)
> > > +{
> > > + /*
> > > + * Enable single-stepping by
> > > + * - Set TF on stack
> > > + * - Set TIF_SINGLESTEP: Guarantees that TF is set when
> > > + * returning to user mode.
> > > + * - Indicate that TF is set by us.
> > > + */
> > > + regs->flags |= X86_EFLAGS_TF;
> > > + set_thread_flag(TIF_SINGLESTEP);
> > > + set_thread_flag(TIF_FORCED_TF);
> > > +}
> > > +
> > > +void arch_uprobe_disable_sstep(struct pt_regs *regs)
> > > +{
> > > + /* Disable single-stepping by clearing what we set */
> > > + clear_thread_flag(TIF_SINGLESTEP);
> > > + clear_thread_flag(TIF_FORCED_TF);
> > > + regs->flags &= ~X86_EFLAGS_TF;
> > > +}
> >
> > Why not use the code from arch/x86/kernel/step.c?
>
> user_enable_single_step and user_disable_single_step that are
> defined in arch/x86/kernel/step.c cant be called in interrupt context.
Right, because of is_setting_trap_flag()..
> Initially we were looking at enabling/disabling singlestep in
> interrupt context. Even now we disable singlestep in post notifier in
> interrupt context.
>
> Though arch/x86/kernel/step.c has a static function
> enable_single_step which is identical to arch_uprobe_enable_sstep;
> there is no equivalent function for arch_uprobe_disable_sstep.
Its not even close to identical, its very careful to deal with user-mode
already doing single step.
But I'll leave this to the x86 people who actually know the intricacies
of the single step cruft, I was just wondering why you weren't using (or
extending) the existing code.
next prev parent reply other threads:[~2011-01-27 10:21 UTC|newest]
Thread overview: 116+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-16 9:57 [RFC] [PATCH 2.6.37-rc5-tip 0/20] 0: Inode based uprobes Srikar Dronamraju
2010-12-16 9:57 ` [RFC] [PATCH 2.6.37-rc5-tip 1/20] 1: mm: Move replace_page() / write_protect_page() to mm/memory.c Srikar Dronamraju
2010-12-16 9:57 ` [RFC] [PATCH 2.6.37-rc5-tip 2/20] 2: X86 specific breakpoint definitions Srikar Dronamraju
2010-12-16 9:57 ` [RFC] [PATCH 2.6.37-rc5-tip 3/20] 3: uprobes: Breakground page replacement Srikar Dronamraju
2010-12-16 9:58 ` [RFC] [PATCH 2.6.37-rc5-tip 4/20] 4: uprobes: Adding and remove a uprobe in a rb tree Srikar Dronamraju
2011-01-25 12:15 ` Peter Zijlstra
2011-01-26 8:37 ` Srikar Dronamraju
2011-01-26 8:37 ` Srikar Dronamraju
2011-01-25 12:15 ` Peter Zijlstra
2011-01-26 8:41 ` Srikar Dronamraju
2011-01-26 10:13 ` Peter Zijlstra
2011-01-25 12:15 ` Peter Zijlstra
2011-01-26 8:38 ` Srikar Dronamraju
2011-01-25 13:56 ` Peter Zijlstra
2011-01-26 8:45 ` Srikar Dronamraju
2011-01-26 10:14 ` Peter Zijlstra
2011-01-26 15:18 ` Srikar Dronamraju
2011-01-26 15:33 ` Peter Zijlstra
2010-12-16 9:58 ` [RFC] [PATCH 2.6.37-rc5-tip 5/20] 5: Uprobes: register/unregister probes Srikar Dronamraju
2011-01-25 12:15 ` Peter Zijlstra
2011-01-26 7:55 ` Srikar Dronamraju
2011-01-26 7:55 ` Srikar Dronamraju
2011-01-26 10:11 ` Peter Zijlstra
2011-01-26 10:11 ` Peter Zijlstra
2011-01-26 15:30 ` Srikar Dronamraju
2011-01-26 15:30 ` Srikar Dronamraju
2011-01-26 15:45 ` Peter Zijlstra
2011-01-26 15:45 ` Peter Zijlstra
2011-01-26 16:56 ` Srikar Dronamraju
2011-01-26 16:56 ` Srikar Dronamraju
2011-01-26 17:12 ` Peter Zijlstra
2011-01-26 17:12 ` Peter Zijlstra
2011-01-27 10:01 ` Srikar Dronamraju
2011-01-27 10:01 ` Srikar Dronamraju
2011-01-27 10:23 ` Peter Zijlstra
2011-01-27 10:23 ` Peter Zijlstra
2011-01-27 10:25 ` Srikar Dronamraju
2011-01-27 10:25 ` Srikar Dronamraju
2011-01-27 10:41 ` Peter Zijlstra
2011-01-27 10:41 ` Peter Zijlstra
2011-01-27 10:29 ` Peter Zijlstra
2011-01-27 10:29 ` Peter Zijlstra
2011-01-25 12:15 ` Peter Zijlstra
2011-01-26 7:47 ` Srikar Dronamraju
2011-01-26 7:47 ` Srikar Dronamraju
2011-01-26 10:10 ` Peter Zijlstra
2011-01-26 10:10 ` Peter Zijlstra
2010-12-16 9:58 ` [RFC] [PATCH 2.6.37-rc5-tip 6/20] 6: x86: analyze instruction and determine fixups Srikar Dronamraju
2010-12-16 9:58 ` [RFC] [PATCH 2.6.37-rc5-tip 7/20] 7: uprobes: store/restore original instruction Srikar Dronamraju
2011-01-25 12:15 ` Peter Zijlstra
2010-12-16 9:58 ` [RFC] [PATCH 2.6.37-rc5-tip 8/20] 8: uprobes: mmap and fork hooks Srikar Dronamraju
2011-01-25 12:15 ` Peter Zijlstra
2011-01-26 9:03 ` Srikar Dronamraju
2011-01-26 9:03 ` Srikar Dronamraju
2011-01-26 10:20 ` Peter Zijlstra
2011-01-26 10:20 ` Peter Zijlstra
2011-01-26 14:59 ` Srikar Dronamraju
2011-01-26 14:59 ` Srikar Dronamraju
2011-01-26 15:16 ` Peter Zijlstra
2011-01-26 15:16 ` Peter Zijlstra
2011-01-26 16:30 ` Srikar Dronamraju
2011-01-26 16:30 ` Srikar Dronamraju
2011-01-25 12:15 ` Peter Zijlstra
2011-01-25 20:05 ` Steven Rostedt
2011-01-26 9:06 ` Srikar Dronamraju
2011-01-27 17:03 ` Steven Rostedt
2011-01-28 4:53 ` Srikar Dronamraju
2011-01-28 13:57 ` Steven Rostedt
2011-01-28 14:28 ` Steven Rostedt
2011-01-28 14:46 ` Srikar Dronamraju
2011-01-28 15:02 ` Steven Rostedt
2011-01-26 15:09 ` Srikar Dronamraju
2011-01-26 15:09 ` Srikar Dronamraju
2011-01-26 15:20 ` Peter Zijlstra
2011-01-26 15:20 ` Peter Zijlstra
2010-12-16 9:58 ` [RFC] [PATCH 2.6.37-rc5-tip 9/20] 9: x86: architecture specific task information Srikar Dronamraju
2010-12-16 9:59 ` [RFC] [PATCH 2.6.37-rc5-tip 10/20] 10: uprobes: task specific information Srikar Dronamraju
2011-01-25 13:56 ` Peter Zijlstra
2011-01-25 18:38 ` Josh Stone
2011-01-25 18:55 ` Roland McGrath
2011-01-25 19:56 ` Peter Zijlstra
2010-12-16 9:59 ` [RFC] [PATCH 2.6.37-rc5-tip 11/20] 11: uprobes: slot allocation for uprobes Srikar Dronamraju
2011-01-25 13:56 ` Peter Zijlstra
2010-12-16 9:59 ` [RFC] [PATCH 2.6.37-rc5-tip 12/20] 12: uprobes: get the breakpoint address Srikar Dronamraju
2011-01-25 13:56 ` Peter Zijlstra
2010-12-16 9:59 ` [RFC] [PATCH 2.6.37-rc5-tip 13/20] 13: x86: x86 specific probe handling Srikar Dronamraju
2011-01-25 13:56 ` Peter Zijlstra
2011-01-27 9:40 ` Srikar Dronamraju
2011-01-27 10:22 ` Peter Zijlstra [this message]
2011-01-27 19:11 ` Roland McGrath
2011-01-28 4:57 ` Srikar Dronamraju
2011-01-28 6:23 ` Roland McGrath
2011-01-28 8:36 ` Peter Zijlstra
2011-01-28 18:23 ` Roland McGrath
2010-12-16 9:59 ` [RFC] [PATCH 2.6.37-rc5-tip 14/20] 14: uprobes: Handing int3 and singlestep exception Srikar Dronamraju
2011-01-25 13:56 ` Peter Zijlstra
2011-01-25 13:56 ` Peter Zijlstra
2011-01-26 8:52 ` Srikar Dronamraju
2011-01-26 8:52 ` Srikar Dronamraju
2011-01-26 10:17 ` Peter Zijlstra
2011-01-26 10:17 ` Peter Zijlstra
2011-01-26 15:14 ` Srikar Dronamraju
2011-01-26 15:14 ` Srikar Dronamraju
2011-01-26 15:29 ` Peter Zijlstra
2011-01-26 15:29 ` Peter Zijlstra
2010-12-16 10:00 ` [RFC] [PATCH 2.6.37-rc5-tip 15/20] 15: x86: uprobes exception notifier for x86 Srikar Dronamraju
2010-12-16 10:00 ` [RFC] [PATCH 2.6.37-rc5-tip 16/20] 16: uprobes: register a notifier for uprobes Srikar Dronamraju
2011-01-25 13:56 ` Peter Zijlstra
2011-01-27 6:50 ` Srikar Dronamraju
2010-12-16 10:00 ` [RFC] [PATCH 2.6.37-rc5-tip 17/20] 17: uprobes: filter chain Srikar Dronamraju
2010-12-16 10:00 ` [RFC] [PATCH 2.6.37-rc5-tip 18/20] 18: uprobes: commonly used filters Srikar Dronamraju
2010-12-17 19:32 ` Valdis.Kletnieks
2010-12-18 3:04 ` Srikar Dronamraju
2010-12-16 10:00 ` [RFC] [PATCH 2.6.37-rc5-tip 19/20] 19: tracing: Extract out common code for kprobes/uprobes traceevents Srikar Dronamraju
2010-12-16 10:01 ` [RFC] [PATCH 2.6.37-rc5-tip 20/20] 20: tracing: uprobes trace_event interface Srikar Dronamraju
2010-12-16 10:07 ` [RFC] [PATCH 2.6.37-rc5-tip 0/20] 0: Inode based uprobes Srikar Dronamraju
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=1296123733.15234.53.camel@laptop \
--to=peterz@infradead.org \
--cc=acme@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=ananth@in.ibm.com \
--cc=andi@firstfloor.org \
--cc=fweisbec@gmail.com \
--cc=hch@infradead.org \
--cc=jkenisto@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@elte.hu \
--cc=oleg@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=roland@redhat.com \
--cc=rostedt@goodmis.org \
--cc=srikar@linux.vnet.ibm.com \
--cc=systemtap@sources.redhat.com \
--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 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.