From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: Re: [PATCHv2 2/8] perf probe: Improve detection of file/function name in the probe pattern
Date: Fri, 13 Mar 2015 20:20:15 +0900 [thread overview]
Message-ID: <5502C7EF.8080007@hitachi.com> (raw)
In-Reply-To: <20150312202414.GD3550@kernel.org>
(2015/03/13 5:24), Arnaldo Carvalho de Melo wrote:
> Em Mon, Dec 15, 2014 at 08:20:32PM +0530, Naveen N. Rao escreveu:
>> 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.
>
> Masami, can I have your Acked-by or Reviewed-by?
As far as I can see, this is not enough for fixing that issue.
Could you fold the first half of [4/8] to this patch?
I also have some comments on it. See below.
>
>> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
>> ---
>> 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 28eb141..9943ff3 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.
>> + *
>> + * Otherwise, we consider arg to be a function specification.
>> + */
>> + c = 0;
Oh please, don't reuse 'char c' for a boolean flag, you should
introduce new 'bool file_loc' etc.
>> + if (!strpbrk(arg, "+@%") && (ptr = strpbrk(arg, ";:")) != NULL) {
>> + /* This is a file spec if it includes a '.' before ; or : */
>> + if (memchr(arg, '.', ptr-arg))
^^ add spaces around '-'.
Thank you,
>> + c = 1;
>> + }
>> +
>> ptr = strpbrk(arg, ";:+@%");
>> if (ptr) {
>> nc = *ptr;
>> @@ -1009,10 +1027,9 @@ static int parse_perf_probe_point(char *arg, struct perf_probe_event *pev)
>> if (tmp == NULL)
>> return -ENOMEM;
>>
>> - /* Check arg is function or file and copy it */
>> - if (strchr(tmp, '.')) /* File */
>> + if (c == 1)
>> pp->file = tmp;
>> - else /* Function */
>> + else
>> pp->function = tmp;
>>
>> /* Parse other options */
>> --
>> 2.1.3
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com
WARNING: multiple messages have this Message-ID (diff)
From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
mpe@ellerman.id.au, ananth@in.ibm.com
Subject: Re: Re: [PATCHv2 2/8] perf probe: Improve detection of file/function name in the probe pattern
Date: Fri, 13 Mar 2015 20:20:15 +0900 [thread overview]
Message-ID: <5502C7EF.8080007@hitachi.com> (raw)
In-Reply-To: <20150312202414.GD3550@kernel.org>
(2015/03/13 5:24), Arnaldo Carvalho de Melo wrote:
> Em Mon, Dec 15, 2014 at 08:20:32PM +0530, Naveen N. Rao escreveu:
>> 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.
>
> Masami, can I have your Acked-by or Reviewed-by?
As far as I can see, this is not enough for fixing that issue.
Could you fold the first half of [4/8] to this patch?
I also have some comments on it. See below.
>
>> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
>> ---
>> 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 28eb141..9943ff3 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.
>> + *
>> + * Otherwise, we consider arg to be a function specification.
>> + */
>> + c = 0;
Oh please, don't reuse 'char c' for a boolean flag, you should
introduce new 'bool file_loc' etc.
>> + if (!strpbrk(arg, "+@%") && (ptr = strpbrk(arg, ";:")) != NULL) {
>> + /* This is a file spec if it includes a '.' before ; or : */
>> + if (memchr(arg, '.', ptr-arg))
^^ add spaces around '-'.
Thank you,
>> + c = 1;
>> + }
>> +
>> ptr = strpbrk(arg, ";:+@%");
>> if (ptr) {
>> nc = *ptr;
>> @@ -1009,10 +1027,9 @@ static int parse_perf_probe_point(char *arg, struct perf_probe_event *pev)
>> if (tmp == NULL)
>> return -ENOMEM;
>>
>> - /* Check arg is function or file and copy it */
>> - if (strchr(tmp, '.')) /* File */
>> + if (c == 1)
>> pp->file = tmp;
>> - else /* Function */
>> + else
>> pp->function = tmp;
>>
>> /* Parse other options */
>> --
>> 2.1.3
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com
next prev parent reply other threads:[~2015-03-13 11:54 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-15 14:50 [PATCHv2 0/8] Fix perf probe issues on powerpc Naveen N. Rao
2014-12-15 14:50 ` Naveen N. Rao
2014-12-15 14:50 ` [PATCHv2 1/8] kprobes: Fix kallsyms lookup across powerpc ABIv1 and ABIv2 Naveen N. Rao
2014-12-15 14:50 ` Naveen N. Rao
2014-12-15 14:50 ` [PATCHv2 2/8] perf probe: Improve detection of file/function name in the probe pattern Naveen N. Rao
2014-12-15 14:50 ` Naveen N. Rao
2015-03-12 20:24 ` Arnaldo Carvalho de Melo
2015-03-12 20:24 ` Arnaldo Carvalho de Melo
2015-03-12 20:25 ` Arnaldo Carvalho de Melo
2015-03-12 20:25 ` Arnaldo Carvalho de Melo
2015-03-13 2:03 ` Ananth N Mavinakayanahalli
2015-03-13 2:03 ` Ananth N Mavinakayanahalli
2015-03-13 11:20 ` Masami Hiramatsu [this message]
2015-03-13 11:20 ` Masami Hiramatsu
2015-04-27 5:05 ` Naveen N. Rao
2015-04-27 5:05 ` Naveen N. Rao
2015-04-27 5:09 ` Naveen N. Rao
2015-04-27 5:09 ` Naveen N. Rao
2014-12-15 14:50 ` [PATCHv2 3/8] perf probe powerpc: Fix symbol fixup issues due to ELF type Naveen N. Rao
2014-12-15 14:50 ` Naveen N. Rao
2015-03-12 20:23 ` Arnaldo Carvalho de Melo
2015-03-12 20:23 ` Arnaldo Carvalho de Melo
2015-04-27 5:06 ` Naveen N. Rao
2015-04-27 5:06 ` Naveen N. Rao
2014-12-15 14:50 ` [PATCHv2 4/8] perf probe powerpc: Handle powerpc dot symbols Naveen N. Rao
2014-12-15 14:50 ` Naveen N. Rao
2015-03-12 20:26 ` Arnaldo Carvalho de Melo
2015-03-12 20:26 ` Arnaldo Carvalho de Melo
2014-12-15 14:50 ` [PATCHv2 5/8] perf probe powerpc: Allow matching against " Naveen N. Rao
2014-12-15 14:50 ` Naveen N. Rao
2015-03-12 20:30 ` Arnaldo Carvalho de Melo
2015-03-12 20:30 ` Arnaldo Carvalho de Melo
2015-04-27 5:08 ` Naveen N. Rao
2015-04-27 5:08 ` Naveen N. Rao
2014-12-15 14:50 ` [PATCHv2 6/8] perf tools powerpc: Fix PPC64 ELF ABIv2 symbol decoding Naveen N. Rao
2014-12-15 14:50 ` Naveen N. Rao
2015-03-12 20:35 ` Arnaldo Carvalho de Melo
2015-03-12 20:35 ` Arnaldo Carvalho de Melo
2014-12-15 14:50 ` [PATCHv2 7/8] perf probe powerpc: Use DWARF info only if necessary Naveen N. Rao
2014-12-15 14:50 ` Naveen N. Rao
2014-12-15 14:50 ` [PATCHv2 8/8] perf probe powerpc: Fixup function entry if using kallsyms lookup Naveen N. Rao
2014-12-15 14:50 ` Naveen N. Rao
2015-03-12 20:37 ` Arnaldo Carvalho de Melo
2015-03-12 20:37 ` Arnaldo Carvalho de Melo
2015-01-28 5:42 ` [PATCHv2 0/8] Fix perf probe issues on powerpc Naveen N. Rao
2015-01-28 5:42 ` Naveen N. Rao
2015-01-28 6:14 ` Michael Ellerman
2015-01-28 6:14 ` Michael Ellerman
2015-01-28 6:43 ` Naveen N. Rao
2015-01-28 6:43 ` Naveen N. Rao
2015-01-30 2:19 ` Michael Ellerman
2015-01-30 2:19 ` Michael Ellerman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5502C7EF.8080007@hitachi.com \
--to=masami.hiramatsu.pt@hitachi.com \
--cc=acme@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=naveen.n.rao@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.