• Vaibhav Jain's avatar
    powerpc/papr_scm: Add support for fetching nvdimm 'fuel-gauge' metric · af0870c4
    Vaibhav Jain authored
    We add support for reporting 'fuel-gauge' NVDIMM metric via
    PAPR_PDSM_HEALTH pdsm payload. 'fuel-gauge' metric indicates the usage
    life remaining of a papr-scm compatible NVDIMM. PHYP exposes this
    metric via the H_SCM_PERFORMANCE_STATS.
    
    The metric value is returned from the pdsm by extending the return
    payload 'struct nd_papr_pdsm_health' without breaking the ABI. A new
    field 'dimm_fuel_gauge' to hold the metric value is introduced at the
    end of the payload struct and its presence is indicated by by
    extension flag PDSM_DIMM_HEALTH_RUN_GAUGE_VALID.
    
    The patch introduces a new function papr_pdsm_fuel_gauge() that is
    called from papr_pdsm_health(). If fetching NVDIMM performance stats
    is supported then 'papr_pdsm_fuel_gauge()' allocated an output buffer
    large enough to hold the performance stat and passes it to
    drc_pmem_query_stats() that issues the HCALL to PHYP. The return value
    of the stat is then populated in the 'struct
    nd_papr_pdsm_health.dimm_fuel_gauge' field with extension flag
    'PDSM_DIMM_HEALTH_RUN_GAUGE_VALID' set in 'struct
    nd_papr_pdsm_health.extension_flags'
    Signed-off-by: default avatarVaibhav Jain <vaibhav@linux.ibm.com>
    Reviewed-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200731064153.182203-3-vaibhav@linux.ibm.com
    af0870c4
papr_pdsm.h 5.02 KB