[PATCH v10 0/5] powerpc/hv-24x7: Expose chip/sockets info to add json file metric support for the hv_24x7 socket/chip level events

Kajol Jain kjain at linux.ibm.com
Mon May 25 20:43:02 AEST 2020


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



More information about the Linuxppc-dev mailing list