perf/probes: Exit searching after finding target function
Exit searching after finding real (not-inlined) function, because there should be no same symbol in that CU. Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Jim Keniston <jkenisto@us.ibm.com> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Frank Ch. Eigler <fche@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jason Baron <jbaron@redhat.com> Cc: K.Prasad <prasad@linux.vnet.ibm.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> LKML-Reference: <20091027204252.30545.19251.stgit@harusame> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
dd004c475c
commit
8030c5f5a5
|
@ -585,14 +585,14 @@ static int probefunc_callback(struct die_link *dlink, void *data)
|
|||
DIE_IF(ret != DW_DLV_OK);
|
||||
pr_debug("inline definition offset %lld\n",
|
||||
pf->inl_offs);
|
||||
return 0;
|
||||
return 0; /* Continue to search */
|
||||
}
|
||||
/* Get probe address */
|
||||
pf->addr = die_get_entrypc(dlink->die);
|
||||
pf->addr += pp->offset;
|
||||
/* TODO: Check the address in this function */
|
||||
show_probepoint(dlink->die, pp->offset, pf);
|
||||
/* Continue to search */
|
||||
return 1; /* Exit; no same symbol in this CU. */
|
||||
}
|
||||
} else if (tag == DW_TAG_inlined_subroutine && pf->inl_offs) {
|
||||
if (die_get_abstract_origin(dlink->die) == pf->inl_offs) {
|
||||
|
|
Loading…
Reference in New Issue