ARC: perf: add user space attribution in callchains
The actual user space unwinding is more involved, so simply capture the user space PC Signed-off-by: Vineet Gupta <vgupta@synopsys.com>hifive-unleashed-5.1
parent
389e3160b9
commit
22f6b89912
|
@ -54,6 +54,16 @@ perf_callchain_kernel(struct perf_callchain_entry *entry, struct pt_regs *regs)
|
||||||
arc_unwind_core(NULL, regs, callchain_trace, &ctrl);
|
arc_unwind_core(NULL, regs, callchain_trace, &ctrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
perf_callchain_user(struct perf_callchain_entry *entry, struct pt_regs *regs)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* User stack can't be unwound trivially with kernel dwarf unwinder
|
||||||
|
* So for now just record the user PC
|
||||||
|
*/
|
||||||
|
perf_callchain_store(entry, instruction_pointer(regs));
|
||||||
|
}
|
||||||
|
|
||||||
static struct arc_pmu *arc_pmu;
|
static struct arc_pmu *arc_pmu;
|
||||||
|
|
||||||
/* read counter #idx; note that counter# != event# on ARC! */
|
/* read counter #idx; note that counter# != event# on ARC! */
|
||||||
|
|
Loading…
Reference in New Issue