From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Oleg Nesterov <oleg@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
Linux-mm <linux-mm@kvack.org>, Ingo Molnar <mingo@elte.hu>,
Andi Kleen <andi@firstfloor.org>,
Christoph Hellwig <hch@infradead.org>,
Steven Rostedt <rostedt@goodmis.org>,
Roland McGrath <roland@hack.frob.com>,
Thomas Gleixner <tglx@linutronix.de>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Arnaldo Carvalho de Melo <acme@infradead.org>,
Anton Arapov <anton@redhat.com>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Jim Keniston <jkenisto@linux.vnet.ibm.com>,
Stephen Wilson <wilsons@start.ca>,
tulasidhard@gmail.com
Subject: Re: [PATCH v7 3.2-rc2 4/30] uprobes: Define hooks for mmap/munmap.
Date: Tue, 29 Nov 2011 21:52:37 +0530 [thread overview]
Message-ID: <20111129162237.GA18380@linux.vnet.ibm.com> (raw)
In-Reply-To: <1322567326.2921.226.camel@twins>
The rules that I am using are:
mmap_uprobe() increments the count if
- it successfully adds a breakpoint.
- it not add a breakpoint, but sees that there is a underlying
breakpoint (via a read_opcode call).
munmap_uprobe() decrements the count if
- it sees a underlying breakpoint, (via a read_opcode call)
- Subsequent unregister_uprobe wouldnt find the breakpoint
unless a mmap_uprobe kicks in, since the old vma would be
dropped just after munmap_uprobe.
register_uprobe increments the count if:
- it successfully adds a breakpoint.
unregister_uprobe decrements the count if:
- it sees a underlying breakpoint and removes successfully.
(via a read_opcode call)
- Subsequent munmap_uprobe wouldnt find the breakpoint
since there is no underlying breakpoint after the
breakpoint removal.
> >
> > if consumers is NULL, unregister_uprobes() has kicked already in, so
> > there is no point in inserting the probe, Hence we return EEXIST. The
> > following unregister_uprobe() (or the munmap_uprobe() which might race
> > before unregister_uprobe) is also going to decrement the count. So we
> > have a case where the same breakpoint is accounted as removed twice. To
> > offset this, we pretend as if the breakpoint is around by incrementing
> > the count.
>
> There's 2 main cases,
> A) vma_adjust() vs unregister_uprobe() and
> B) mmap() vs unregister_uprobe().
>
> The result of A should be -1 reference in total, since we're removing
> the one probe.
If the breakpoint was never there, then a value of 0 should also be
correct. See case A3a and A3b.
> The result of B should be 0 since we're removing the
> probe and we shouldn't be installing new ones.
>
> A1)
> vma_adjust()
> munmap_uprobe()
> unregister_uprobe()
> mmap_uprobe()
> delete_uprobe()
>
>
> munmap will to -1, mmap will do +1, __unregister_uprobe() which is
> serialized against vma_adjust() will do -1 on either the old or new vma,
> resulting in a grand total of: -1+1-1=-1, OK
Right.
>
> A2) breakpoint is in old, not in new, again two cases:
>
> A2a) __unregister_uprobe() sees old
So unregister_uprobe is called on the vma before vma_adjust.
>
> munmap -1, __unregister_uprobe -1, mmap 0: -2 FAIL
>
So munmap wouldnt decrement because, munmap_uprobe checks to see if the
breakpoint is still around before it increments.
unregister unlike munmap removes the breakpoint too.
> A2b) __unregister_uprobe() sees new
>
So the order would be munmap(), mmap() and unregister_uprobe()
> munmap -1, __unregister_uprobe 0, mmap 0: -1 OK
Right, Since the old vma is gone, the new vma doesnt have the
breakpoint.
>
> A3) breakpoint is in new, not in old, again two cases:
>
> A3a) __unregister_uprobe() sees old
>
So unregister_uprobe is called on the vma before vma_adjust.
> munmap 0, __unregister_uprobe 0, mmap: 1: 1 FAIL
If mmap_uprobe() increments it would mean that breakpoint was already
there. (-EEXIST + read_opcode); since there was no breakpoint, it will
not increment..
0 is the correct value here, Not -1. because there was no probe inserted
or removed.
>
> A3b) __unregister_uprobe() seed new
So the order would be munmap(), mmap() and unregister_uprobe()
>
> munmap 0, __unregister_uprobe -1, mmap: 1: 0 FAIL
>
If mmap_uprobe() increments it would mean that breakpoint was already
there. __unregister_uprobe will decrement. Since we added a new probe
and deleted it, the value 0 is correct here.
> B1)
> unregister_uprobe()
> mmap()
> mmap_uprobe()
> __unregister_uprobe()
> delete_uprobe()
>
> mmap +1, __unregister_uprobe() -1: 0 OK
>
> B2)
> unregister_uprobe()
> mmap()
> __unregister_uprobe()
> mmap_uprobe()
> delete_uprobe()
>
> mmap +1, __unregister_uprobe() 0: +1 FAIL
I think you meant __unregister_uprobe happened before mmap_uprobe.
If mmap_uprobe() increments it would mean that breakpoint was already
there. (-EEXIST + read_opcode); since there was no breakpoint, it will
not increment..
>
>
> > Would it help if I add an extra check in mmap_uprobe?
> >
> > int mmap_uprobe(...) {
> > ....
> > ret = install_breakpoint(vma->vm_mm, uprobe);
> > if (ret == -EEXIST) {
> > if (!read_opcode(vma->vm_mm, vaddr, &opcode) &&
> > (opcode == UPROBES_BKPT_INSN))
> > atomic_inc(&vma->vm_mm->mm_uprobes_count);
> > ret = 0;
> > }
> > ....
> > }
>
> > The extra read_opcode check will tell us if the breakpoint is still
> > around and then only increment the count. (As in it will distinguish if
> > the mmap_uprobe is from vm_adjust).
>
> No, I don't see that fixing A2a for example.
This check should help A3a and B2 cases.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Oleg Nesterov <oleg@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>,
Linux-mm <linux-mm@kvack.org>, Ingo Molnar <mingo@elte.hu>,
Andi Kleen <andi@firstfloor.org>,
Christoph Hellwig <hch@infradead.org>,
Steven Rostedt <rostedt@goodmis.org>,
Roland McGrath <roland@hack.frob.com>,
Thomas Gleixner <tglx@linutronix.de>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Arnaldo Carvalho de Melo <acme@infradead.org>,
Anton Arapov <anton@redhat.com>,
Ananth N Mavinakayanahalli <ananth@in.ibm.com>,
Jim Keniston <jkenisto@linux.vnet.ibm.com>,
Stephen Wilson <wilsons@start.ca>,
tulasidhard@gmail.com
Subject: Re: [PATCH v7 3.2-rc2 4/30] uprobes: Define hooks for mmap/munmap.
Date: Tue, 29 Nov 2011 21:52:37 +0530 [thread overview]
Message-ID: <20111129162237.GA18380@linux.vnet.ibm.com> (raw)
In-Reply-To: <1322567326.2921.226.camel@twins>
The rules that I am using are:
mmap_uprobe() increments the count if
- it successfully adds a breakpoint.
- it not add a breakpoint, but sees that there is a underlying
breakpoint (via a read_opcode call).
munmap_uprobe() decrements the count if
- it sees a underlying breakpoint, (via a read_opcode call)
- Subsequent unregister_uprobe wouldnt find the breakpoint
unless a mmap_uprobe kicks in, since the old vma would be
dropped just after munmap_uprobe.
register_uprobe increments the count if:
- it successfully adds a breakpoint.
unregister_uprobe decrements the count if:
- it sees a underlying breakpoint and removes successfully.
(via a read_opcode call)
- Subsequent munmap_uprobe wouldnt find the breakpoint
since there is no underlying breakpoint after the
breakpoint removal.
> >
> > if consumers is NULL, unregister_uprobes() has kicked already in, so
> > there is no point in inserting the probe, Hence we return EEXIST. The
> > following unregister_uprobe() (or the munmap_uprobe() which might race
> > before unregister_uprobe) is also going to decrement the count. So we
> > have a case where the same breakpoint is accounted as removed twice. To
> > offset this, we pretend as if the breakpoint is around by incrementing
> > the count.
>
> There's 2 main cases,
> A) vma_adjust() vs unregister_uprobe() and
> B) mmap() vs unregister_uprobe().
>
> The result of A should be -1 reference in total, since we're removing
> the one probe.
If the breakpoint was never there, then a value of 0 should also be
correct. See case A3a and A3b.
> The result of B should be 0 since we're removing the
> probe and we shouldn't be installing new ones.
>
> A1)
> vma_adjust()
> munmap_uprobe()
> unregister_uprobe()
> mmap_uprobe()
> delete_uprobe()
>
>
> munmap will to -1, mmap will do +1, __unregister_uprobe() which is
> serialized against vma_adjust() will do -1 on either the old or new vma,
> resulting in a grand total of: -1+1-1=-1, OK
Right.
>
> A2) breakpoint is in old, not in new, again two cases:
>
> A2a) __unregister_uprobe() sees old
So unregister_uprobe is called on the vma before vma_adjust.
>
> munmap -1, __unregister_uprobe -1, mmap 0: -2 FAIL
>
So munmap wouldnt decrement because, munmap_uprobe checks to see if the
breakpoint is still around before it increments.
unregister unlike munmap removes the breakpoint too.
> A2b) __unregister_uprobe() sees new
>
So the order would be munmap(), mmap() and unregister_uprobe()
> munmap -1, __unregister_uprobe 0, mmap 0: -1 OK
Right, Since the old vma is gone, the new vma doesnt have the
breakpoint.
>
> A3) breakpoint is in new, not in old, again two cases:
>
> A3a) __unregister_uprobe() sees old
>
So unregister_uprobe is called on the vma before vma_adjust.
> munmap 0, __unregister_uprobe 0, mmap: 1: 1 FAIL
If mmap_uprobe() increments it would mean that breakpoint was already
there. (-EEXIST + read_opcode); since there was no breakpoint, it will
not increment..
0 is the correct value here, Not -1. because there was no probe inserted
or removed.
>
> A3b) __unregister_uprobe() seed new
So the order would be munmap(), mmap() and unregister_uprobe()
>
> munmap 0, __unregister_uprobe -1, mmap: 1: 0 FAIL
>
If mmap_uprobe() increments it would mean that breakpoint was already
there. __unregister_uprobe will decrement. Since we added a new probe
and deleted it, the value 0 is correct here.
> B1)
> unregister_uprobe()
> mmap()
> mmap_uprobe()
> __unregister_uprobe()
> delete_uprobe()
>
> mmap +1, __unregister_uprobe() -1: 0 OK
>
> B2)
> unregister_uprobe()
> mmap()
> __unregister_uprobe()
> mmap_uprobe()
> delete_uprobe()
>
> mmap +1, __unregister_uprobe() 0: +1 FAIL
I think you meant __unregister_uprobe happened before mmap_uprobe.
If mmap_uprobe() increments it would mean that breakpoint was already
there. (-EEXIST + read_opcode); since there was no breakpoint, it will
not increment..
>
>
> > Would it help if I add an extra check in mmap_uprobe?
> >
> > int mmap_uprobe(...) {
> > ....
> > ret = install_breakpoint(vma->vm_mm, uprobe);
> > if (ret == -EEXIST) {
> > if (!read_opcode(vma->vm_mm, vaddr, &opcode) &&
> > (opcode == UPROBES_BKPT_INSN))
> > atomic_inc(&vma->vm_mm->mm_uprobes_count);
> > ret = 0;
> > }
> > ....
> > }
>
> > The extra read_opcode check will tell us if the breakpoint is still
> > around and then only increment the count. (As in it will distinguish if
> > the mmap_uprobe is from vm_adjust).
>
> No, I don't see that fixing A2a for example.
This check should help A3a and B2 cases.
next prev parent reply other threads:[~2011-11-29 16:25 UTC|newest]
Thread overview: 210+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-18 11:06 [PATCH v7 3.2-rc2 0/30] uprobes patchset with perf probe support Srikar Dronamraju
2011-11-18 11:06 ` Srikar Dronamraju
2011-11-18 11:06 ` [PATCH v7 3.2-rc2 1/30] uprobes: Auxillary routines to insert, find, delete uprobes Srikar Dronamraju
2011-11-18 11:06 ` Srikar Dronamraju
2011-11-23 18:23 ` Peter Zijlstra
2011-11-23 18:23 ` Peter Zijlstra
2011-11-18 11:07 ` [PATCH v7 3.2-rc2 2/30] uprobes: Allow multiple consumers for an uprobe Srikar Dronamraju
2011-11-18 11:07 ` Srikar Dronamraju
2011-11-18 11:07 ` [PATCH v7 3.2-rc2 3/30] uprobes: register/unregister probes Srikar Dronamraju
2011-11-18 11:07 ` Srikar Dronamraju
2011-11-23 16:09 ` Peter Zijlstra
2011-11-23 16:09 ` Peter Zijlstra
2011-11-23 16:11 ` Peter Zijlstra
2011-11-23 16:11 ` Peter Zijlstra
2011-11-24 14:39 ` Srikar Dronamraju
2011-11-24 14:39 ` Srikar Dronamraju
2011-11-23 16:22 ` Peter Zijlstra
2011-11-23 16:22 ` Peter Zijlstra
2011-11-23 16:27 ` Peter Zijlstra
2011-11-23 16:27 ` Peter Zijlstra
2011-11-23 16:35 ` Peter Zijlstra
2011-11-23 16:35 ` Peter Zijlstra
2011-11-28 15:29 ` Peter Zijlstra
2011-11-28 15:29 ` Peter Zijlstra
2011-11-29 7:48 ` Srikar Dronamraju
2011-11-29 7:48 ` Srikar Dronamraju
2011-11-29 10:52 ` Peter Zijlstra
2011-11-29 10:52 ` Peter Zijlstra
2011-12-01 13:41 ` Srikar Dronamraju
2011-12-01 13:41 ` Srikar Dronamraju
2011-12-01 13:20 ` Peter Zijlstra
2011-12-01 13:20 ` Peter Zijlstra
2011-11-18 11:07 ` [PATCH v7 3.2-rc2 4/30] uprobes: Define hooks for mmap/munmap Srikar Dronamraju
2011-11-18 11:07 ` Srikar Dronamraju
2011-11-23 17:13 ` Peter Zijlstra
2011-11-23 17:13 ` Peter Zijlstra
2011-11-23 18:10 ` Peter Zijlstra
2011-11-23 18:10 ` Peter Zijlstra
2011-11-24 13:47 ` Srikar Dronamraju
2011-11-24 13:47 ` Srikar Dronamraju
2011-11-24 14:13 ` Peter Zijlstra
2011-11-24 14:13 ` Peter Zijlstra
2011-11-24 14:25 ` Srikar Dronamraju
2011-11-24 14:25 ` Srikar Dronamraju
2011-11-28 14:59 ` Peter Zijlstra
2011-11-28 14:59 ` Peter Zijlstra
2011-11-29 8:33 ` Srikar Dronamraju
2011-11-29 8:33 ` Srikar Dronamraju
2011-11-29 11:48 ` Peter Zijlstra
2011-11-29 11:48 ` Peter Zijlstra
2011-11-29 15:05 ` Peter Zijlstra
2011-11-29 15:05 ` Peter Zijlstra
2011-11-30 5:50 ` Srikar Dronamraju
2011-11-30 5:50 ` Srikar Dronamraju
2011-11-29 16:22 ` Srikar Dronamraju [this message]
2011-11-29 16:22 ` Srikar Dronamraju
2011-11-30 12:25 ` Peter Zijlstra
2011-11-30 12:25 ` Peter Zijlstra
2011-12-01 5:40 ` Srikar Dronamraju
2011-12-01 5:40 ` Srikar Dronamraju
2011-12-01 11:36 ` Peter Zijlstra
2011-12-01 11:36 ` Peter Zijlstra
2011-12-01 13:24 ` Srikar Dronamraju
2011-12-01 13:24 ` Srikar Dronamraju
2011-11-30 5:30 ` Srikar Dronamraju
2011-11-30 5:30 ` Srikar Dronamraju
2011-11-23 18:15 ` Peter Zijlstra
2011-11-23 18:15 ` Peter Zijlstra
2011-11-23 19:50 ` Steven Rostedt
2011-11-23 19:50 ` Steven Rostedt
2011-11-24 13:37 ` Srikar Dronamraju
2011-11-24 13:37 ` Srikar Dronamraju
2011-11-24 13:47 ` Peter Zijlstra
2011-11-24 13:47 ` Peter Zijlstra
2011-11-18 11:07 ` [PATCH v7 3.2-rc2 5/30] uprobes: copy of the original instruction Srikar Dronamraju
2011-11-18 11:07 ` Srikar Dronamraju
2011-11-23 18:26 ` Peter Zijlstra
2011-11-23 18:26 ` Peter Zijlstra
2011-11-23 18:40 ` Peter Zijlstra
2011-11-23 18:40 ` Peter Zijlstra
2011-11-23 19:49 ` Steven Rostedt
2011-11-23 19:49 ` Steven Rostedt
2011-11-23 20:52 ` Peter Zijlstra
2011-11-23 20:52 ` Peter Zijlstra
2011-11-24 12:50 ` Srikar Dronamraju
2011-11-24 12:50 ` Srikar Dronamraju
2011-11-28 14:23 ` Peter Zijlstra
2011-11-28 14:23 ` Peter Zijlstra
2011-11-18 11:07 ` [PATCH v7 3.2-rc2 6/30] uprobes: define fixups Srikar Dronamraju
2011-11-18 11:07 ` Srikar Dronamraju
2011-11-18 11:07 ` [PATCH v7 3.2-rc2 7/30] uprobes: uprobes arch info Srikar Dronamraju
2011-11-18 11:07 ` Srikar Dronamraju
2011-11-18 11:08 ` [PATCH v7 3.2-rc2 8/30] x86: analyze instruction and determine fixups Srikar Dronamraju
2011-11-18 11:08 ` Srikar Dronamraju
2011-11-30 18:57 ` Oleg Nesterov
2011-11-30 18:57 ` Oleg Nesterov
2011-12-01 5:52 ` Srikar Dronamraju
2011-12-01 5:52 ` Srikar Dronamraju
2011-11-18 11:08 ` [PATCH v7 3.2-rc2 9/30] uprobes: Background page replacement Srikar Dronamraju
2011-11-18 11:08 ` Srikar Dronamraju
2011-11-25 14:29 ` Peter Zijlstra
2011-11-25 14:29 ` Peter Zijlstra
2011-11-25 14:54 ` Peter Zijlstra
2011-11-25 14:54 ` Peter Zijlstra
2011-11-26 2:25 ` Srikar Dronamraju
2011-11-26 2:25 ` Srikar Dronamraju
2011-11-28 14:13 ` Peter Zijlstra
2011-11-28 14:13 ` Peter Zijlstra
2011-11-29 7:49 ` Srikar Dronamraju
2011-11-29 7:49 ` Srikar Dronamraju
2011-11-28 15:01 ` Peter Zijlstra
2011-11-28 15:01 ` Peter Zijlstra
2011-11-18 11:08 ` [PATCH v7 3.2-rc2 10/30] x86: Set instruction pointer Srikar Dronamraju
2011-11-18 11:08 ` Srikar Dronamraju
2011-11-18 11:08 ` [PATCH v7 3.2-rc2 11/30] x86: Introduce TIF_UPROBE FLAG Srikar Dronamraju
2011-11-18 11:08 ` Srikar Dronamraju
2011-11-18 11:09 ` [PATCH v7 3.2-rc2 12/30] uprobes: Handle breakpoint and Singlestep Srikar Dronamraju
2011-11-18 11:09 ` Srikar Dronamraju
2011-11-25 15:24 ` Peter Zijlstra
2011-11-25 15:24 ` Peter Zijlstra
2011-11-26 2:22 ` Srikar Dronamraju
2011-11-26 2:22 ` Srikar Dronamraju
2011-11-18 11:09 ` [PATCH v7 3.2-rc2 13/30] x86: define a x86 specific exception notifier Srikar Dronamraju
2011-11-18 11:09 ` Srikar Dronamraju
2011-11-18 11:09 ` [PATCH v7 3.2-rc2 14/30] uprobe: register " Srikar Dronamraju
2011-11-18 11:09 ` Srikar Dronamraju
2011-11-18 11:09 ` [PATCH v7 3.2-rc2 15/30] x86: Define x86_64 specific uprobe_task_arch_info structure Srikar Dronamraju
2011-11-18 11:09 ` Srikar Dronamraju
2011-11-18 11:09 ` [PATCH v7 3.2-rc2 16/30] uprobes: Introduce " Srikar Dronamraju
2011-11-18 11:09 ` Srikar Dronamraju
2011-11-18 11:09 ` [PATCH v7 3.2-rc2 17/30] x86: arch specific hooks for pre/post singlestep handling Srikar Dronamraju
2011-11-18 11:09 ` Srikar Dronamraju
2011-11-18 11:10 ` [PATCH v7 3.2-rc2 18/30] uprobes: slot allocation Srikar Dronamraju
2011-11-18 11:10 ` Srikar Dronamraju
2011-11-18 11:10 ` [PATCH v7 3.2-rc2 19/30] tracing: modify is_delete, is_return from ints to bool Srikar Dronamraju
2011-11-18 11:10 ` Srikar Dronamraju
2011-11-23 19:24 ` Steven Rostedt
2011-11-23 19:24 ` Steven Rostedt
2011-11-18 11:10 ` [PATCH v7 3.2-rc2 20/30] tracing: Extract out common code for kprobes/uprobes traceevents Srikar Dronamraju
2011-11-18 11:10 ` Srikar Dronamraju
2011-11-23 19:32 ` Steven Rostedt
2011-11-23 19:32 ` Steven Rostedt
2011-11-24 13:12 ` Srikar Dronamraju
2011-11-24 13:12 ` Srikar Dronamraju
2011-11-18 11:10 ` [PATCH v7 3.2-rc2 21/30] tracing: uprobes trace_event interface Srikar Dronamraju
2011-11-18 11:10 ` Srikar Dronamraju
2011-11-18 11:10 ` [PATCH v7 3.2-rc2 22/30] perf: rename target_module to target Srikar Dronamraju
2011-11-18 11:10 ` Srikar Dronamraju
2011-11-18 11:11 ` [PATCH v7 3.2-rc2 23/30] perf: perf interface for uprobes Srikar Dronamraju
2011-11-18 11:11 ` Srikar Dronamraju
2011-11-18 11:11 ` [PATCH v7 3.2-rc2 24/30] perf: show possible probes in a given executable file or library Srikar Dronamraju
2011-11-18 11:11 ` Srikar Dronamraju
2011-11-18 11:11 ` [PATCH v7 3.2-rc2 25/30] uprobes: call post_xol() unconditionally Srikar Dronamraju
2011-11-18 11:11 ` Srikar Dronamraju
2011-11-18 11:11 ` [PATCH v7 3.2-rc2 26/30] uprobes: introduce uprobe_deny_signal() Srikar Dronamraju
2011-11-18 11:11 ` Srikar Dronamraju
2011-11-18 11:12 ` [PATCH v7 3.2-rc2 27/30] uprobes: x86: introduce xol_was_trapped() Srikar Dronamraju
2011-11-18 11:12 ` Srikar Dronamraju
2011-11-18 11:12 ` [PATCH v7 3.2-rc2 28/30] uprobes: introduce UTASK_SSTEP_TRAPPED logic Srikar Dronamraju
2011-11-18 11:12 ` Srikar Dronamraju
2011-11-18 11:12 ` [PATCH v7 3.2-rc2 29/30] uprobes: Introduce uprobe flags Srikar Dronamraju
2011-11-18 11:12 ` Srikar Dronamraju
2011-11-18 11:12 ` [PATCH v7 3.2-rc2 30/30] x86: skip singlestep where possible Srikar Dronamraju
2011-11-18 11:12 ` Srikar Dronamraju
2011-11-22 5:03 ` [PATCH v7 3.2-rc2 0/30] uprobes patchset with perf probe support Srikar Dronamraju
2011-11-22 5:03 ` Srikar Dronamraju
2011-11-22 14:49 ` Stephen Rothwell
2011-11-23 13:20 ` Srikar Dronamraju
2011-11-23 13:20 ` Srikar Dronamraju
2011-11-23 13:38 ` Stephen Rothwell
2011-11-28 19:06 ` [PATCH RFC 0/5] uprobes: kill xol vma Oleg Nesterov
2011-11-28 19:06 ` Oleg Nesterov
2011-11-28 19:06 ` [PATCH 1/5] uprobes: kill pre_ssout(), introduce set_xol_ip() Oleg Nesterov
2011-11-28 19:06 ` Oleg Nesterov
2011-11-28 19:06 ` [PATCH 2/5] uprobes: introduce uprobe_switch_to() Oleg Nesterov
2011-11-28 19:06 ` Oleg Nesterov
2011-11-28 19:53 ` Peter Zijlstra
2011-11-28 19:53 ` Peter Zijlstra
2011-11-29 17:18 ` Oleg Nesterov
2011-11-29 17:18 ` Oleg Nesterov
2011-11-30 12:11 ` Peter Zijlstra
2011-11-30 12:11 ` Peter Zijlstra
2011-11-30 17:10 ` Oleg Nesterov
2011-11-30 17:10 ` Oleg Nesterov
2011-11-28 19:07 ` [PATCH 3/5] uprobes: introduce uprobe_xol_slots[NR_CPUS] Oleg Nesterov
2011-11-28 19:07 ` Oleg Nesterov
2011-11-28 19:48 ` Peter Zijlstra
2011-11-28 19:48 ` Peter Zijlstra
2011-11-28 19:52 ` Peter Zijlstra
2011-11-28 19:52 ` Peter Zijlstra
2011-11-29 18:24 ` Oleg Nesterov
2011-11-29 18:24 ` Oleg Nesterov
2011-11-28 19:07 ` [PATCH 4/5] uprobes: teach set_xol_ip() to use uprobe_xol_slots[] Oleg Nesterov
2011-11-28 19:07 ` Oleg Nesterov
2011-11-28 19:07 ` [PATCH 5/5] uprobes: remove the uprobes_xol_area code Oleg Nesterov
2011-11-28 19:07 ` Oleg Nesterov
2011-11-28 19:57 ` [PATCH RFC 0/5] uprobes: kill xol vma Peter Zijlstra
2011-11-28 19:57 ` Peter Zijlstra
2011-11-29 10:30 ` Srikar Dronamraju
2011-11-29 10:30 ` Srikar Dronamraju
2011-11-29 18:26 ` Oleg Nesterov
2011-11-29 18:26 ` Oleg Nesterov
2011-11-30 16:15 ` Andi Kleen
2011-11-30 16:15 ` Andi Kleen
2011-11-30 16:20 ` Peter Zijlstra
2011-11-30 16:20 ` Peter Zijlstra
2011-11-30 18:47 ` Oleg Nesterov
2011-11-30 18:47 ` Oleg Nesterov
2011-12-12 17:30 ` Oleg Nesterov
2011-12-12 17:30 ` Oleg Nesterov
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=20111129162237.GA18380@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=anton@redhat.com \
--cc=hch@infradead.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=peterz@infradead.org \
--cc=roland@hack.frob.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=tulasidhard@gmail.com \
--cc=wilsons@start.ca \
/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.