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