summaryrefslogtreecommitdiff
path: root/arch/powerpc/include/uapi
diff options
context:
space:
mode:
authorVaibhav Jain <vaibhav@linux.ibm.com>2020-07-31 09:41:52 +0300
committerMichael Ellerman <mpe@ellerman.id.au>2020-07-31 15:55:27 +0300
commit2d02bf835e5731de632c8a13567905fa7c0da01c (patch)
treedcf4f379102e0f71d3c4b18b5300fb64850a601b /arch/powerpc/include/uapi
parentd947fb4c965cdb7242f3f91124ea16079c49fa8b (diff)
downloadlinux-2d02bf835e5731de632c8a13567905fa7c0da01c.tar.xz
powerpc/papr_scm: Fetch nvdimm performance stats from PHYP
Update papr_scm.c to query dimm performance statistics from PHYP via H_SCM_PERFORMANCE_STATS hcall and export them to user-space as PAPR specific NVDIMM attribute 'perf_stats' in sysfs. The patch also provide a sysfs ABI documentation for the stats being reported and their meanings. During NVDIMM probe time in papr_scm_nvdimm_init() a special variant of H_SCM_PERFORMANCE_STATS hcall is issued to check if collection of performance statistics is supported or not. If successful then a PHYP returns a maximum possible buffer length needed to read all performance stats. This returned value is stored in a per-nvdimm attribute 'stat_buffer_len'. The layout of request buffer for reading NVDIMM performance stats from PHYP is defined in 'struct papr_scm_perf_stats' and 'struct papr_scm_perf_stat'. These structs are used in newly introduced drc_pmem_query_stats() that issues the H_SCM_PERFORMANCE_STATS hcall. The sysfs access function perf_stats_show() uses value 'stat_buffer_len' to allocate a buffer large enough to hold all possible NVDIMM performance stats and passes it to drc_pmem_query_stats() to populate. Finally statistics reported in the buffer are formatted into the sysfs access function output buffer. Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20200731064153.182203-2-vaibhav@linux.ibm.com
Diffstat (limited to 'arch/powerpc/include/uapi')
0 files changed, 0 insertions, 0 deletions