[PATCH] powerpc/papr_scm: Reduce error severity if nvdimm stats inaccessible
Vaibhav Jain
vaibhav at linux.ibm.com
Thu Apr 15 02:21:40 AEST 2021
Thanks for looking into this patch Ira,
Ira Weiny <ira.weiny at intel.com> writes:
> On Wed, Apr 14, 2021 at 06:10:26PM +0530, Vaibhav Jain wrote:
>> Currently drc_pmem_qeury_stats() generates a dev_err in case
>> "Enable Performance Information Collection" feature is disabled from
>> HMC. The error is of the form below:
>>
>> papr_scm ibm,persistent-memory:ibm,pmemory at 44104001: Failed to query
>> performance stats, Err:-10
>>
>> This error message confuses users as it implies a possible problem
>> with the nvdimm even though its due to a disabled feature.
>>
>> So we fix this by explicitly handling the H_AUTHORITY error from the
>> H_SCM_PERFORMANCE_STATS hcall and generating a warning instead of an
>> error, saying that "Performance stats in-accessible".
>>
>> Fixes: 2d02bf835e57('powerpc/papr_scm: Fetch nvdimm performance stats from PHYP')
>> Signed-off-by: Vaibhav Jain <vaibhav at linux.ibm.com>
>> ---
>> arch/powerpc/platforms/pseries/papr_scm.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c
>> index 835163f54244..9216424f8be3 100644
>> --- a/arch/powerpc/platforms/pseries/papr_scm.c
>> +++ b/arch/powerpc/platforms/pseries/papr_scm.c
>> @@ -277,6 +277,9 @@ static ssize_t drc_pmem_query_stats(struct papr_scm_priv *p,
>> dev_err(&p->pdev->dev,
>> "Unknown performance stats, Err:0x%016lX\n", ret[0]);
>> return -ENOENT;
>> + } else if (rc == H_AUTHORITY) {
>> + dev_warn(&p->pdev->dev, "Performance stats in-accessible");
>> + return -EPERM;
>
> Is this because of a disabled feature or because of permissions?
Its because of a disabled feature that revokes permission for a guest to
retrieve performance statistics.
The feature is called "Enable Performance Information Collection" and
once disabled the hcall H_SCM_PERFORMANCE_STATS returns an error
H_AUTHORITY indicating that the guest doesn't have permission to retrieve
performance statistics.
>
> Ira
>
>> } else if (rc != H_SUCCESS) {
>> dev_err(&p->pdev->dev,
>> "Failed to query performance stats, Err:%lld\n", rc);
>> --
>> 2.30.2
>>
--
Cheers
~ Vaibhav
More information about the Linuxppc-dev
mailing list