[RFC 0/6] powerpc/perf: Add json file metric support for the hv_24x7 socket/chip level events

From: Kajol Jain
Date: Fri Jan 17 2020 - 07:46:47 EST


MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The hv_24×7 feature in IBM® POWER9™ processor-based servers provide the
facility to continuously collect large numbers of hardware performance
metrics efficiently and accurately.

Patchset adds json file metric support for the hv_24x7 socket/chip level
events. "hv_24x7" pmu interface events needs system dependend parameter
like socket/chip/core. For example, hv_24x7 chip level events needs
specific chip-id to which the data is requested should be added as part
of pmu events.

So to enable JSON file support to "hv_24x7" interface, patchset expose
total number of sockets and chips per-socket details in sysfs
files (sockets, chips) under "/sys/devices/hv_24x7/interface/".

To get sockets and number of chips per sockets, patchset adds a rtas call
with token "PROCESSOR_MODULE_INFO" to get these details. Patchset also
handles partition migration case to re-init these system depended parameters
by adding proper calls in post_mobility_fixup() (mobility.c).

Patch 5 and 6 of the patchset handles perf tool plumbing needed to replace the "?"
character in the metric expression to proper value and hv_24x7 json metric file
for different Socket/chip resources.

Kajol Jain (6):
powerpc/hv-24x7: Add rtas call in hv-24x7 driver to get processor
details
powerpc/hv-24x7: Add sysfs files inside hv-24x7 device to show
processor details
Documentation/ABI: Add ABI documentation for chips and sockets
powerpc/hv-24x7: Handle migration case of lpar for proper system
information in sysfs
perf/tools: Enhance JSON/metric infrastructure to handle "?"
perf/tools/pmu-events/powerpc: Add hv_24x7 socket/chip level metric
events

.../sysfs-bus-event_source-devices-hv_24x7 | 14 +++
arch/powerpc/perf/hv-24x7.c | 90 ++++++++++++++
arch/powerpc/platforms/pseries/mobility.c | 12 ++
arch/powerpc/platforms/pseries/pseries.h | 3 +
tools/perf/arch/powerpc/util/header.c | 40 ++++++
.../arch/powerpc/power9/hv_24x7_metrics.json | 64 ++++++++++
tools/perf/util/expr.h | 1 +
tools/perf/util/expr.y | 17 ++-
tools/perf/util/metricgroup.c | 117 +++++++++++-------
tools/perf/util/metricgroup.h | 1 +
tools/perf/util/stat-shadow.c | 5 +
11 files changed, 321 insertions(+), 43 deletions(-)
create mode 100644 tools/perf/pmu-events/arch/powerpc/power9/hv_24x7_metrics.json

--
2.18.1