Re: [PATCH v3 1/2] perf/sdt: Introduce util func is_sdt_event()
From: Masami Hiramatsu
Date: Mon Feb 27 2017 - 20:35:19 EST
On Fri, 24 Feb 2017 13:13:24 +0530
Ravi Bangoria <ravi.bangoria@xxxxxxxxxxxxxxxxxx> wrote:
> No Functionality changes.
Please describe even it seems not have much info.
----
Factor out the SDT event name checking routine as is_sdt_event().
----
BTW, would we really need to move it in util.c? I think parse-event.{c,h}
is a better place.
Thank you,
>
> Signed-off-by: Ravi Bangoria <ravi.bangoria@xxxxxxxxxxxxxxxxxx>
> ---
> tools/perf/util/probe-event.c | 9 +--------
> tools/perf/util/util.c | 12 ++++++++++++
> tools/perf/util/util.h | 2 ++
> 3 files changed, 15 insertions(+), 8 deletions(-)
>
> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
> index 28fb62c..2b1409f 100644
> --- a/tools/perf/util/probe-event.c
> +++ b/tools/perf/util/probe-event.c
> @@ -1339,14 +1339,7 @@ static int parse_perf_probe_point(char *arg, struct perf_probe_event *pev)
> if (!arg)
> return -EINVAL;
>
> - /*
> - * If the probe point starts with '%',
> - * or starts with "sdt_" and has a ':' but no '=',
> - * then it should be a SDT/cached probe point.
> - */
> - if (arg[0] == '%' ||
> - (!strncmp(arg, "sdt_", 4) &&
> - !!strchr(arg, ':') && !strchr(arg, '='))) {
> + if (is_sdt_event(arg)) {
> pev->sdt = true;
> if (arg[0] == '%')
> arg++;
> diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c
> index d8b45ce..b827428 100644
> --- a/tools/perf/util/util.c
> +++ b/tools/perf/util/util.c
> @@ -802,3 +802,15 @@ int unit_number__scnprintf(char *buf, size_t size, u64 n)
>
> return scnprintf(buf, size, "%" PRIu64 "%c", n, unit[i]);
> }
> +
> +/*
> + * If the probe point starts with '%',
> + * or starts with "sdt_" and has a ':' but no '=',
> + * then it should be a SDT/cached probe point.
> + */
> +bool is_sdt_event(char *str)
> +{
> + return (str[0] == '%' ||
> + (!strncmp(str, "sdt_", 4) &&
> + !!strchr(str, ':') && !strchr(str, '=')));
> +}
> diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
> index c74708d..ee599dc 100644
> --- a/tools/perf/util/util.h
> +++ b/tools/perf/util/util.h
> @@ -364,4 +364,6 @@ int is_printable_array(char *p, unsigned int len);
> int timestamp__scnprintf_usec(u64 timestamp, char *buf, size_t sz);
>
> int unit_number__scnprintf(char *buf, size_t size, u64 n);
> +
> +bool is_sdt_event(char *str);
> #endif /* GIT_COMPAT_UTIL_H */
> --
> 2.9.3
>
--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>