All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] ptrace: Add variant of profile_pc for passing in pc
@ 2011-09-15 22:56 Andi Kleen
  2011-09-15 22:56 ` [PATCH 2/4] perf_events: Pass the event to perf_instruction_pointer Andi Kleen
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Andi Kleen @ 2011-09-15 22:56 UTC (permalink / raw)
  To: a.p.zijlstra; +Cc: acme, linux-kernel, Andi Kleen

From: Andi Kleen <ak@linux.intel.com>

Add a variant of profile_pc() that allows passing in the
instruction pointer.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
---
 arch/x86/include/asm/ptrace.h |    1 +
 arch/x86/kernel/time.c        |    9 ++++++---
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h
index 3566454..0fafaac 100644
--- a/arch/x86/include/asm/ptrace.h
+++ b/arch/x86/include/asm/ptrace.h
@@ -139,6 +139,7 @@ struct cpuinfo_x86;
 struct task_struct;
 
 extern unsigned long profile_pc(struct pt_regs *regs);
+extern unsigned long __profile_pc(unsigned long pc, struct pt_regs *regs);
 #define profile_pc profile_pc
 
 extern unsigned long
diff --git a/arch/x86/kernel/time.c b/arch/x86/kernel/time.c
index 5a64d05..cd98120 100644
--- a/arch/x86/kernel/time.c
+++ b/arch/x86/kernel/time.c
@@ -26,10 +26,8 @@
 DEFINE_VVAR(volatile unsigned long, jiffies) = INITIAL_JIFFIES;
 #endif
 
-unsigned long profile_pc(struct pt_regs *regs)
+unsigned long __profile_pc(unsigned long pc, struct pt_regs *regs)
 {
-	unsigned long pc = instruction_pointer(regs);
-
 	if (!user_mode_vm(regs) && in_lock_functions(pc)) {
 #ifdef CONFIG_FRAME_POINTER
 		return *(unsigned long *)(regs->bp + sizeof(long));
@@ -49,6 +47,11 @@ unsigned long profile_pc(struct pt_regs *regs)
 	}
 	return pc;
 }
+
+unsigned long profile_pc(struct pt_regs *regs)
+{
+	return __profile_pc(instruction_pointer(regs), regs);
+}
 EXPORT_SYMBOL(profile_pc);
 
 /*
-- 
1.7.4.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-09-20 17:51 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-15 22:56 [PATCH 1/4] ptrace: Add variant of profile_pc for passing in pc Andi Kleen
2011-09-15 22:56 ` [PATCH 2/4] perf_events: Pass the event to perf_instruction_pointer Andi Kleen
2011-09-15 23:16   ` Thomas Gleixner
2011-09-15 22:56 ` [PATCH 3/4] perf_events: Support a lock_parent event flag Andi Kleen
2011-09-20  9:16   ` Peter Zijlstra
2011-09-20 17:51     ` Andi Kleen
2011-09-15 22:56 ` [PATCH 4/4] perf tools: Add -l flag to top/record to account to parent Andi Kleen

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.