[PATCH v1 0/2] perf stat: Support --all-kernel and --all-user

From: Jin Yao
Date: Tue Sep 24 2019 - 22:03:19 EST


This patch series supports the new options "--all-kernel" and "--all-user"
in perf-stat.

For example,

root@kbl:~# perf stat -e cycles,instructions --all-kernel --all-user -a -- sleep 1

Performance counter stats for 'system wide':

19,156,665 cycles:k
7,265,342 instructions:k # 0.38 insn per cycle
4,511,186,293 cycles:u
121,881,436 instructions:u # 0.03 insn per cycle

1.001153540 seconds time elapsed


root@kbl:~# perf stat -a --topdown --all-kernel -- sleep 1

Performance counter stats for 'system wide':

retiring:k bad speculation:k frontend bound:k backend bound:k
S0-D0-C0 2 7.6% 1.8% 40.5% 50.0%
S0-D0-C1 2 15.4% 3.4% 14.4% 66.8%
S0-D0-C2 2 15.8% 5.1% 26.9% 52.2%
S0-D0-C3 2 5.7% 5.7% 46.2% 42.4%

1.000771709 seconds time elapsed

More detail information are in the patch descriptions.

Jin Yao (2):
perf stat: Support --all-kernel and --all-user options
perf stat: Support topdown with --all-kernel/--all-user

tools/perf/Documentation/perf-record.txt | 3 +-
tools/perf/Documentation/perf-stat.txt | 7 +
tools/perf/builtin-stat.c | 200 ++++++++++++++++++++++-
tools/perf/util/stat-shadow.c | 167 ++++++++++++++-----
tools/perf/util/stat.h | 23 +++
5 files changed, 353 insertions(+), 47 deletions(-)

--
2.17.1