forked from Minki/linux
ed78f56e12
In case performance stats for an nvdimm are not available, reading the
'perf_stats' sysfs file returns an -ENOENT error. A better approach is
to make the 'perf_stats' file entirely invisible to indicate that
performance stats for an nvdimm are unavailable.
So this patch updates 'papr_nd_attribute_group' to add a 'is_visible'
callback implemented as newly introduced 'papr_nd_attribute_visible()'
that returns an appropriate mode in case performance stats aren't
supported in a given nvdimm.
Also the initialization of 'papr_scm_priv.stat_buffer_len' is moved
from papr_scm_nvdimm_init() to papr_scm_probe() so that it value is
available when 'papr_nd_attribute_visible()' is called during nvdimm
initialization.
Even though 'perf_stats' attribute is available since v5.9, there are
no known user-space tools/scripts that are dependent on presence of its
sysfs file. Hence I dont expect any user-space breakage with this
patch.
Fixes: 2d02bf835e
("powerpc/papr_scm: Fetch nvdimm performance stats from PHYP")
Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210513092349.285021-1-vaibhav@linux.ibm.com
64 lines
2.2 KiB
Plaintext
64 lines
2.2 KiB
Plaintext
What: /sys/bus/nd/devices/nmemX/papr/flags
|
|
Date: Apr, 2020
|
|
KernelVersion: v5.8
|
|
Contact: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
|
|
Description:
|
|
(RO) Report flags indicating various states of a
|
|
papr-pmem NVDIMM device. Each flag maps to a one or
|
|
more bits set in the dimm-health-bitmap retrieved in
|
|
response to H_SCM_HEALTH hcall. The details of the bit
|
|
flags returned in response to this hcall is available
|
|
at 'Documentation/powerpc/papr_hcalls.rst' . Below are
|
|
the flags reported in this sysfs file:
|
|
|
|
* "not_armed"
|
|
Indicates that NVDIMM contents will not
|
|
survive a power cycle.
|
|
* "flush_fail"
|
|
Indicates that NVDIMM contents
|
|
couldn't be flushed during last
|
|
shut-down event.
|
|
* "restore_fail"
|
|
Indicates that NVDIMM contents
|
|
couldn't be restored during NVDIMM
|
|
initialization.
|
|
* "encrypted"
|
|
NVDIMM contents are encrypted.
|
|
* "smart_notify"
|
|
There is health event for the NVDIMM.
|
|
* "scrubbed"
|
|
Indicating that contents of the
|
|
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 <linuxppc-dev@lists.ozlabs.org>, nvdimm@lists.linux.dev,
|
|
Description:
|
|
(RO) Report various performance stats related to papr-scm NVDIMM
|
|
device. This attribute is only available for NVDIMM devices
|
|
that support reporting NVDIMM performance stats. 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
|