[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200324102459.GL1534489@krava>
Date: Tue, 24 Mar 2020 11:24:59 +0100
From: Jiri Olsa <jolsa@...hat.com>
To: Ian Rogers <irogers@...gle.com>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Namhyung Kim <namhyung@...nel.org>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Martin KaFai Lau <kafai@...com>, Yonghong Song <yhs@...com>,
Andrii Nakryiko <andriin@...com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Igor Lubashev <ilubashe@...mai.com>,
Alexey Budankov <alexey.budankov@...ux.intel.com>,
Florian Fainelli <f.fainelli@...il.com>,
Adrian Hunter <adrian.hunter@...el.com>,
Andi Kleen <ak@...ux.intel.com>,
Jiwei Sun <jiwei.sun@...driver.com>,
yuzhoujian <yuzhoujian@...ichuxing.com>,
Kan Liang <kan.liang@...ux.intel.com>,
Jin Yao <yao.jin@...ux.intel.com>,
Leo Yan <leo.yan@...aro.org>,
John Garry <john.garry@...wei.com>,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
bpf@...r.kernel.org, linux-perf-users@...r.kernel.org,
Stephane Eranian <eranian@...gle.com>
Subject: Re: [PATCH v5] perf tools: add support for libpfm4
On Mon, Mar 23, 2020 at 04:58:46PM -0700, Ian Rogers wrote:
SNIP
> diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c
> index 10107747b361..31ed184566c8 100644
> --- a/tools/perf/util/parse-events.c
> +++ b/tools/perf/util/parse-events.c
> @@ -37,6 +37,11 @@
> #include "util/evsel_config.h"
> #include "util/event.h"
>
> +#ifdef HAVE_LIBPFM
> +#include <perfmon/pfmlib_perf_event.h>
> +static void print_libpfm_events(bool name_only);
> +#endif
> +
> #define MAX_NAME_LEN 100
>
> #ifdef PARSER_DEBUG
> @@ -2794,6 +2799,10 @@ void print_events(const char *event_glob, bool name_only, bool quiet_flag,
> print_sdt_events(NULL, NULL, name_only);
>
> metricgroup__print(true, true, NULL, name_only, details_flag);
> +
> +#ifdef HAVE_LIBPFM
> + print_libpfm_events(name_only);
we should make some effort to fit this into our current list shape,
currently it looks like:
$ perf list
...
TopdownL1_SMT:
Backend_Bound_SMT
[This category represents fraction of slots where no uops are being delivered due to a lack of required resources for accepting new uops in the Backend>
Bad_Speculation_SMT
[This category represents fraction of slots wasted due to incorrect speculations. SMT version; use when SMT is enabled and measuring per logical CPU]
Frontend_Bound_SMT
[This category represents fraction of slots where the processor's Frontend undersupplies its Backend. SMT version; use when SMT is enabled and measurin>
Retiring_SMT
[This category represents fraction of slots utilized by useful work i.e. issued uops that eventually get retired. SMT version; use when SMT is enabled >
Name : UNHALTED_CORE_CYCLES
PMU : ix86arch
Desc : count core clock cycles whenever the clock signal on the specific core is running (not halted)
Equiv : None
Code : 0x3c
Modif : PMU: [e] : edge level (may require counter-mask >= 1) (boolean)
Modif : PMU: [i] : invert (boolean)
Modif : PMU: [c] : counter-mask in range [0-255] (integer)
Modif : PMU: [t] : measure any thread (boolean)
Modif : PMU: [intx] : monitor only inside transactional memory region (boolean)
Modif : PMU: [intxcp] : do not count occurrences inside aborted transactional memory region (boolean)
Modif : perf_event: [u] : monitor at user level (boolean)
Modif : perf_event: [k] : monitor at kernel level (boolean)
Modif : perf_event: [period] : sampling period (integer)
Modif : perf_event: [freq] : sampling frequency (Hz) (integer)
Modif : perf_event: [excl] : exclusive access (boolean)
Modif : perf_event: [mg] : monitor guest execution (boolean)
Modif : perf_event: [mh] : monitor host execution (boolean)
Modif : perf_event: [cpu] : CPU to program (integer)
Modif : perf_event: [pinned] : pin event to counters (boolean)
it needs some header like 'libpfm events:' and then
probably just name and doc for basic list and more
verbose for -v
jirka
Powered by blists - more mailing lists