Re: [PATCH v6 3/3] perf report: Add SPE options to --itrace argument

From: Leo Yan
Date: Fri Mar 13 2020 - 07:33:34 EST


Hi James,

On Fri, Mar 06, 2020 at 03:25:20PM +0000, James Clark wrote:
> From: Tan Xiaojun <tanxiaojun@xxxxxxxxxx>
>
> The previous patch added support in "perf report" for some arm-spe
> events(llc-miss, tlb-miss, branch-miss, remote_access). This patch
> adds their help instructions.
>
> Signed-off-by: Tan Xiaojun <tanxiaojun@xxxxxxxxxx>
> Tested-by: Qi Liu <liuqi115@xxxxxxxxxxxxx>
> Signed-off-by: James Clark <james.clark@xxxxxxx>
> Cc: Will Deacon <will@xxxxxxxxxx>
> Cc: Mark Rutland <mark.rutland@xxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Tan Xiaojun <tanxiaojun@xxxxxxxxxx>
> Cc: Al Grant <al.grant@xxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> ---
> tools/perf/Documentation/itrace.txt | 5 ++++-
> tools/perf/util/auxtrace.h | 5 ++++-
> 2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/Documentation/itrace.txt b/tools/perf/Documentation/itrace.txt
> index 82ff7dad40c2..da3e5ccc039e 100644
> --- a/tools/perf/Documentation/itrace.txt
> +++ b/tools/perf/Documentation/itrace.txt
> @@ -1,5 +1,5 @@
> i synthesize instructions events
> - b synthesize branches events
> + b synthesize branches events (branch misses on Arm)

This is not valid for Arm CoreSight actually. Arm CoreSight can use
option 'b' to inject branch samples. For this reason, suggest to
change as "(branch misses for Arm SPE)".

Thanks,
Leo

> c synthesize branches events (calls only)
> r synthesize branches events (returns only)
> x synthesize transactions events
> @@ -9,6 +9,9 @@
> of aux-output (refer to perf record)
> e synthesize error events
> d create a debug log
> + m synthesize LLC miss events
> + t synthesize TLB miss events
> + a synthesize remote access events
> g synthesize a call chain (use with i or x)
> l synthesize last branch entries (use with i or x)
> s skip initial number of events
> diff --git a/tools/perf/util/auxtrace.h b/tools/perf/util/auxtrace.h
> index 80617b0d044d..52e148eea7f8 100644
> --- a/tools/perf/util/auxtrace.h
> +++ b/tools/perf/util/auxtrace.h
> @@ -587,7 +587,7 @@ void auxtrace__free(struct perf_session *session);
>
> #define ITRACE_HELP \
> " i: synthesize instructions events\n" \
> -" b: synthesize branches events\n" \
> +" b: synthesize branches events (branch misses on Arm)\n" \
> " c: synthesize branches events (calls only)\n" \
> " r: synthesize branches events (returns only)\n" \
> " x: synthesize transactions events\n" \
> @@ -595,6 +595,9 @@ void auxtrace__free(struct perf_session *session);
> " p: synthesize power events\n" \
> " e: synthesize error events\n" \
> " d: create a debug log\n" \
> +" m: synthesize LLC miss events\n" \
> +" t: synthesize TLB miss events\n" \
> +" a: synthesize remote access events\n" \
> " g[len]: synthesize a call chain (use with i or x)\n" \
> " l[len]: synthesize last branch entries (use with i or x)\n" \
> " sNUMBER: skip initial number of events\n" \
> --
> 2.17.1
>