perf stat: Enable iostat mode for x86 platforms
authorAlexander Antonov <alexander.antonov@linux.intel.com>
Mon, 19 Apr 2021 09:41:46 +0000 (12:41 +0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 20 Apr 2021 11:40:20 +0000 (08:40 -0300)
commitf9ed693e8bc0e7de9eb766a3c7178590e8bb6cd5
tree492dd71987ce6a737929aaa04457d40808470c6d
parent19776d3cede733dc9be79d880339acb9b2f456d6
perf stat: Enable iostat mode for x86 platforms

This functionality is based on recently introduced sysfs attributes for
Intel® Xeon® Scalable processor family (code name Skylake-SP):

Commit bb42b3d39781d7fc ("perf/x86/intel/uncore: Expose an Uncore unit to IIO PMON mapping")

Mode is intended to provide four I/O performance metrics in MB per each
PCIe root port:

 - Inbound Read: I/O devices below root port read from the host memory
 - Inbound Write: I/O devices below root port write to the host memory
 - Outbound Read: CPU reads from I/O devices below root port
 - Outbound Write: CPU writes to I/O devices below root port

Each metric requiries only one uncore event which increments at every 4B
transfer in corresponding direction. The formulas to compute metrics
are generic:
    #EventCount * 4B / (1024 * 1024)

Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Alexander Antonov <alexander.antonov@linux.intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey V Bayduraev <alexey.v.bayduraev@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210419094147.15909-4-alexander.antonov@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/Documentation/perf-iostat.txt [new file with mode: 0644]
tools/perf/Makefile.perf
tools/perf/arch/x86/util/Build
tools/perf/arch/x86/util/iostat.c
tools/perf/command-list.txt
tools/perf/perf-iostat.sh [new file with mode: 0644]