Thread (9 messages) flat view 9 messages, 4 authors, 2021-04-18

Re: [PATCH] powerpc/papr_scm: Reduce error severity if nvdimm stats inaccessible

From: Dan Williams <hidden>
Date: 2021-04-15 17:03:55
Also in: nvdimm

On Thu, Apr 15, 2021 at 4:44 AM Vaibhav Jain [off-list ref] wrote:
Thanks for looking into this Dan,

Dan Williams [off-list ref] writes:
quoted
On Wed, Apr 14, 2021 at 5:40 AM Vaibhav Jain [off-list ref] wrote:
quoted
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@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 <redacted>
---
 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;
So userspace can spam the kernel log? Why is kernel log message needed
at all? EPERM told the caller what happened.
Currently this error message is only reported during probe of the
nvdimm. So userspace cannot directly spam kernel log.
Oh, ok, I saw things like papr_pdsm_fuel_gauge() in the call stack and
thought this was reachable through an ioctl. Sorry for the noise.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help