forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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 <[email protected]> Signed-off-by: Michael Ellerman <[email protected]> Link: https://lore.kernel.org/r/[email protected]
- Loading branch information
Showing
2 changed files
with
177 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,3 +25,30 @@ Description: | |
NVDIMM have been scrubbed. | ||
* "locked" : Indicating that NVDIMM contents cant | ||
be modified until next power cycle. | ||
|
||
What: /sys/bus/nd/devices/nmemX/papr/perf_stats | ||
Date: May, 2020 | ||
KernelVersion: v5.9 | ||
Contact: linuxppc-dev <[email protected]>, [email protected], | ||
Description: | ||
(RO) Report various performance stats related to papr-scm NVDIMM | ||
device. Each stat is reported on a new line with each line | ||
composed of a stat-identifier followed by it value. Below are | ||
currently known dimm performance stats which are reported: | ||
|
||
* "CtlResCt" : Controller Reset Count | ||
* "CtlResTm" : Controller Reset Elapsed Time | ||
* "PonSecs " : Power-on Seconds | ||
* "MemLife " : Life Remaining | ||
* "CritRscU" : Critical Resource Utilization | ||
* "HostLCnt" : Host Load Count | ||
* "HostSCnt" : Host Store Count | ||
* "HostSDur" : Host Store Duration | ||
* "HostLDur" : Host Load Duration | ||
* "MedRCnt " : Media Read Count | ||
* "MedWCnt " : Media Write Count | ||
* "MedRDur " : Media Read Duration | ||
* "MedWDur " : Media Write Duration | ||
* "CchRHCnt" : Cache Read Hit Count | ||
* "CchWHCnt" : Cache Write Hit Count | ||
* "FastWCnt" : Fast Write Count |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters