diff options
author | Brian Rogan <bcr6@cornell.edu> | 2006-03-28 01:56:20 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-28 09:16:02 -0800 |
commit | 273577165cd206d2d6689ee4b18aa13de1ec4bde (patch) | |
tree | f5dfaed2e193bb65a00ef551f02ace8726cc461c /include | |
parent | f83ca9fe3ee390755f18b4a7780c25ce593b484a (diff) | |
download | op-kernel-dev-273577165cd206d2d6689ee4b18aa13de1ec4bde.zip op-kernel-dev-273577165cd206d2d6689ee4b18aa13de1ec4bde.tar.gz |
[PATCH] Add oprofile_add_ext_sample
On ppc64 we look at a profiling register to work out the sample address and
if it was in userspace or kernel.
The backtrace interface oprofile_add_sample does not allow this. Create
oprofile_add_ext_sample and make oprofile_add_sample use it too.
Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: Philippe Elie <phil.el@wanadoo.fr>
Cc: John Levon <levon@movementarian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/oprofile.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h index 559c4c3..b5b3197 100644 --- a/include/linux/oprofile.h +++ b/include/linux/oprofile.h @@ -61,6 +61,16 @@ void oprofile_arch_exit(void); */ void oprofile_add_sample(struct pt_regs * const regs, unsigned long event); +/** + * Add an extended sample. Use this when the PC is not from the regs, and + * we cannot determine if we're in kernel mode from the regs. + * + * This function does perform a backtrace. + * + */ +void oprofile_add_ext_sample(unsigned long pc, struct pt_regs * const regs, + unsigned long event, int is_kernel); + /* Use this instead when the PC value is not from the regs. Doesn't * backtrace. */ void oprofile_add_pc(unsigned long pc, int is_kernel, unsigned long event); |