Re: [RFC PATCH 3/8] perf probe: Improve detection of file/function name in the probe pattern
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2014-12-10 10:00:13
Also in:
lkml
On Tue, 2014-12-09 at 23:04 +0530, Naveen N. Rao wrote:
quoted hunk ↗ jump to hunk
Currently, perf probe considers patterns including a '.' to be a file. However, this causes problems on powerpc ABIv1 where all functions have a leading '.': $ perf probe -F | grep schedule_timeout_interruptible .schedule_timeout_interruptible $ perf probe .schedule_timeout_interruptible Semantic error :File always requires line number or lazy pattern. Error: Command Parse Error. Fix this by checking the probe pattern in more detail. Signed-off-by: Naveen N. Rao <redacted> --- tools/perf/util/probe-event.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-)diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c index c150ca4..c7e01ef 100644 --- a/tools/perf/util/probe-event.c +++ b/tools/perf/util/probe-event.c@@ -999,6 +999,24 @@ static int parse_perf_probe_point(char *arg, struct perf_probe_event *pev) arg = tmp; } + /* + * Check arg is function or file name and copy it. + * + * We consider arg to be a file spec if and only if it satisfies + * all of the below criteria:: + * - it does not include any of "+@%", + * - it includes one of ":;", and + * - it has a period '.' in the name.
I don't think we need to be this elaborate. AFAIK there are no source files in the kernel that start with '.' So if the arg starts with '.' it must be a function? cheers