2020-07-30 21:42:52

by Jiri Olsa

[permalink] [raw]
Subject: [PATCH 1/6] perf tools: Add clockid_name function

Adding clockid_name function to get the clock name based
on its clockid. It will be used in following changes.

Signed-off-by: Jiri Olsa <[email protected]>
---
tools/perf/builtin-record.c | 11 +++++++++++
tools/perf/util/util.h | 2 ++
2 files changed, 13 insertions(+)

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index b6bdccd875bc..468c669519a6 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -2121,6 +2121,17 @@ static const struct clockid_map clockids[] = {
CLOCKID_END,
};

+const char *clockid_name(clockid_t clk_id)
+{
+ const struct clockid_map *cm;
+
+ for (cm = clockids; cm->name; cm++) {
+ if (cm->clockid == clk_id)
+ return cm->name;
+ }
+ return "(not found)";
+}
+
static int get_clockid_res(clockid_t clk_id, u64 *res_ns)
{
struct timespec res;
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
index f486fdd3a538..126dad238ee3 100644
--- a/tools/perf/util/util.h
+++ b/tools/perf/util/util.h
@@ -62,4 +62,6 @@ char *perf_exe(char *buf, int len);
#endif
#endif

+const char *clockid_name(clockid_t clk_id);
+
#endif /* GIT_COMPAT_UTIL_H */
--
2.25.4


2020-07-31 15:34:15

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH 1/6] perf tools: Add clockid_name function

> diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
> index f486fdd3a538..126dad238ee3 100644
> --- a/tools/perf/util/util.h
> +++ b/tools/perf/util/util.h
> @@ -62,4 +62,6 @@ char *perf_exe(char *buf, int len);
> #endif
> #endif
>
> +const char *clockid_name(clockid_t clk_id);

If it's a generic "util" it probably shouldn't live in builtin-record.c

-Andi

2020-07-31 16:20:54

by Jiri Olsa

[permalink] [raw]
Subject: Re: [PATCH 1/6] perf tools: Add clockid_name function

On Fri, Jul 31, 2020 at 08:33:37AM -0700, Andi Kleen wrote:
> > diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h
> > index f486fdd3a538..126dad238ee3 100644
> > --- a/tools/perf/util/util.h
> > +++ b/tools/perf/util/util.h
> > @@ -62,4 +62,6 @@ char *perf_exe(char *buf, int len);
> > #endif
> > #endif
> >
> > +const char *clockid_name(clockid_t clk_id);
>
> If it's a generic "util" it probably shouldn't live in builtin-record.c

true, but it's where all the clockid data is,
I'd need to move parse_clockid as well, I'll check

thanks,
jirka