Patchset fixes the inconsistent results we are getting when we run multiple 24x7 events.
"hv_24x7" pmu interface events needs system dependent 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 number of sockets, chips per sockets and cores per chip 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). Changelog: v9 -> v10 - Change function name from 'read_sys_info_pseries()' to 'read_24x7_sys_info()'. - Remove rtas_local_data_buf use, as we can directly use rtas_data_buf itself as we just need to do few loads and it also remove overload of memcpy in the lock Suggested by: Michael Ellerman. - Move part of updating 24x7 system info variables inside 'rtas_data_buf_lock' and make sure we release spinlock in each case. - Added Tested-by: Madhavan Srinivasan tag for patch 1 v8 -> v9 - As we not need 8k data buffer we also not require new lock and buffer size. So, removed that part. - Since we are using rtas_data_buf itself for rtas call, Switch to kmalloc for data buffer so that we can free that memory. - Made more changes as suggested by Nathan Lynch. v7 -> v8 - Add support for exposing cores per details as well. Suggested by: Madhavan Srinivasan. - Remove config check for 'CONFIG_PPC_RTAS' in previous implementation and address other comments by Michael Ellerman. v6 -> v7 - Split patchset into two patch series, one with kernel changes and another with perf tool side changes. This pachset contain all kernel side changes. Kajol Jain (5): powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run 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/pseries: Update hv-24x7 information after migration .../sysfs-bus-event_source-devices-hv_24x7 | 21 ++++ arch/powerpc/include/asm/rtas.h | 6 ++ arch/powerpc/perf/hv-24x7.c | 98 +++++++++++++++++-- arch/powerpc/platforms/pseries/mobility.c | 3 + 4 files changed, 118 insertions(+), 10 deletions(-) -- 2.18.2