• Vaibhav Jain's avatar
    powerpc/papr_scm: Make 'perf_stats' invisible if perf-stats unavailable · ed78f56e
    Vaibhav Jain authored
    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: 2d02bf83 ("powerpc/papr_scm: Fetch nvdimm performance stats from PHYP")
    Signed-off-by: default avatarVaibhav Jain <vaibhav@linux.ibm.com>
    Reviewed-by: default avatarDan Williams <dan.j.williams@intel.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20210513092349.285021-1-vaibhav@linux.ibm.com
    ed78f56e
sysfs-bus-papr-pmem 2.25 KB