[PATCH] powerpc/powernv: Return for invalid IMC domain

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE2626d

5 messages, 4 authors, 2019-05-25 · open the first message on its own page

[PATCH] powerpc/powernv: Return for invalid IMC domain

From: Anju T Sudhakar <hidden>
Date: 2019-05-20 09:00:52

Currently init_imc_pmu() can be failed either because
an IMC unit with invalid domain(i.e an IMC node not
supported by the kernel) is attempted a pmu-registration
or something went wrong while registering a valid IMC unit.
In both the cases kernel provides a 'Registration failed'
error message.

Example:
Log message, when trace-imc node is not supported by the kernel, and the
skiboot supports trace-imc node.

So for kernel, trace-imc node is now an unknown domain.

[    1.731870] nest_phb5_imc performance monitor hardware support registered
[    1.731944] nest_powerbus0_imc performance monitor hardware support registered
[    1.734458] thread_imc performance monitor hardware support registered
[    1.734460] IMC Unknown Device type
[    1.734462] IMC PMU (null) Register failed
[    1.734558] nest_xlink0_imc performance monitor hardware support registered
[    1.734614] nest_xlink1_imc performance monitor hardware support registered
[    1.734670] nest_xlink2_imc performance monitor hardware support registered
[    1.747043] Initialise system trusted keyrings
[    1.747054] Key type blacklist registered


To avoid ambiguity on the error message, return for invalid domain
before attempting a pmu registration. 

Fixes: 8f95faaac56c1 (`powerpc/powernv: Detect and create IMC device`)
Reported-by: Pavaman Subramaniyam <redacted>
Signed-off-by: Anju T Sudhakar <redacted>
---
 arch/powerpc/platforms/powernv/opal-imc.c | 4 ++++
 1 file changed, 4 insertions(+)
diff --git a/arch/powerpc/platforms/powernv/opal-imc.c b/arch/powerpc/platforms/powernv/opal-imc.c
index 58a0794..4e8b0e1 100644
--- a/arch/powerpc/platforms/powernv/opal-imc.c
+++ b/arch/powerpc/platforms/powernv/opal-imc.c
@@ -161,6 +161,10 @@ static int imc_pmu_create(struct device_node *parent, int pmu_index, int domain)
 	struct imc_pmu *pmu_ptr;
 	u32 offset;
 
+	/* Return for unknown domain */
+	if (domain < 0)
+		return -EINVAL;
+
 	/* memory for pmu */
 	pmu_ptr = kzalloc(sizeof(*pmu_ptr), GFP_KERNEL);
 	if (!pmu_ptr)
-- 
1.8.3.1

Re: [PATCH] powerpc/powernv: Return for invalid IMC domain

From: Madhavan Srinivasan <hidden>
Date: 2019-05-21 05:12:53

On 20/05/19 2:27 PM, Anju T Sudhakar wrote:
Currently init_imc_pmu() can be failed either because
an IMC unit with invalid domain(i.e an IMC node not
supported by the kernel) is attempted a pmu-registration
or something went wrong while registering a valid IMC unit.
In both the cases kernel provides a 'Registration failed'
error message.

Example:
Log message, when trace-imc node is not supported by the kernel, and the
skiboot supports trace-imc node.

So for kernel, trace-imc node is now an unknown domain.

[    1.731870] nest_phb5_imc performance monitor hardware support registered
[    1.731944] nest_powerbus0_imc performance monitor hardware support registered
[    1.734458] thread_imc performance monitor hardware support registered
[    1.734460] IMC Unknown Device type
[    1.734462] IMC PMU (null) Register failed
[    1.734558] nest_xlink0_imc performance monitor hardware support registered
[    1.734614] nest_xlink1_imc performance monitor hardware support registered
[    1.734670] nest_xlink2_imc performance monitor hardware support registered
[    1.747043] Initialise system trusted keyrings
[    1.747054] Key type blacklist registered


To avoid ambiguity on the error message, return for invalid domain
before attempting a pmu registration.
Reviewed-by: Madhavan Srinivasan <redacted>

quoted hunk
Fixes: 8f95faaac56c1 (`powerpc/powernv: Detect and create IMC device`)
Reported-by: Pavaman Subramaniyam <redacted>
Signed-off-by: Anju T Sudhakar <redacted>
---
  arch/powerpc/platforms/powernv/opal-imc.c | 4 ++++
  1 file changed, 4 insertions(+)
diff --git a/arch/powerpc/platforms/powernv/opal-imc.c b/arch/powerpc/platforms/powernv/opal-imc.c
index 58a0794..4e8b0e1 100644
quoted hunk
--- a/arch/powerpc/platforms/powernv/opal-imc.c
+++ b/arch/powerpc/platforms/powernv/opal-imc.c
@@ -161,6 +161,10 @@ static int imc_pmu_create(struct device_node *parent, int pmu_index, int domain)
  	struct imc_pmu *pmu_ptr;
  	u32 offset;

+	/* Return for unknown domain */
+	if (domain < 0)
+		return -EINVAL;
+
  	/* memory for pmu */
  	pmu_ptr = kzalloc(sizeof(*pmu_ptr), GFP_KERNEL);
  	if (!pmu_ptr)

Re: [PATCH] powerpc/powernv: Return for invalid IMC domain

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2019-05-21 11:50:19

Anju T Sudhakar [off-list ref] writes:
Currently init_imc_pmu() can be failed either because
an IMC unit with invalid domain(i.e an IMC node not
supported by the kernel) is attempted a pmu-registration
or something went wrong while registering a valid IMC unit.
In both the cases kernel provides a 'Registration failed'
error message.

Example:
Log message, when trace-imc node is not supported by the kernel, and the
skiboot supports trace-imc node.

So for kernel, trace-imc node is now an unknown domain.

[    1.731870] nest_phb5_imc performance monitor hardware support registered
[    1.731944] nest_powerbus0_imc performance monitor hardware support registered
[    1.734458] thread_imc performance monitor hardware support registered
[    1.734460] IMC Unknown Device type
[    1.734462] IMC PMU (null) Register failed
[    1.734558] nest_xlink0_imc performance monitor hardware support registered
[    1.734614] nest_xlink1_imc performance monitor hardware support registered
[    1.734670] nest_xlink2_imc performance monitor hardware support registered
[    1.747043] Initialise system trusted keyrings
[    1.747054] Key type blacklist registered


To avoid ambiguity on the error message, return for invalid domain
before attempting a pmu registration. 
What do we print once the patch is applied?

cheers
quoted hunk
Fixes: 8f95faaac56c1 (`powerpc/powernv: Detect and create IMC device`)
Reported-by: Pavaman Subramaniyam <redacted>
Signed-off-by: Anju T Sudhakar <redacted>
---
 arch/powerpc/platforms/powernv/opal-imc.c | 4 ++++
 1 file changed, 4 insertions(+)
diff --git a/arch/powerpc/platforms/powernv/opal-imc.c b/arch/powerpc/platforms/powernv/opal-imc.c
index 58a0794..4e8b0e1 100644
--- a/arch/powerpc/platforms/powernv/opal-imc.c
+++ b/arch/powerpc/platforms/powernv/opal-imc.c
@@ -161,6 +161,10 @@ static int imc_pmu_create(struct device_node *parent, int pmu_index, int domain)
 	struct imc_pmu *pmu_ptr;
 	u32 offset;
 
+	/* Return for unknown domain */
+	if (domain < 0)
+		return -EINVAL;
+
 	/* memory for pmu */
 	pmu_ptr = kzalloc(sizeof(*pmu_ptr), GFP_KERNEL);
 	if (!pmu_ptr)
-- 
1.8.3.1

Re: [PATCH] powerpc/powernv: Return for invalid IMC domain

From: Anju T Sudhakar <hidden>
Date: 2019-05-22 07:46:09

Hi,

On 5/21/19 5:18 PM, Michael Ellerman wrote:
Anju T Sudhakar [off-list ref] writes:
quoted
Currently init_imc_pmu() can be failed either because
an IMC unit with invalid domain(i.e an IMC node not
supported by the kernel) is attempted a pmu-registration
or something went wrong while registering a valid IMC unit.
In both the cases kernel provides a 'Registration failed'
error message.

Example:
Log message, when trace-imc node is not supported by the kernel, and the
skiboot supports trace-imc node.

So for kernel, trace-imc node is now an unknown domain.

[    1.731870] nest_phb5_imc performance monitor hardware support registered
[    1.731944] nest_powerbus0_imc performance monitor hardware support registered
[    1.734458] thread_imc performance monitor hardware support registered
[    1.734460] IMC Unknown Device type
[    1.734462] IMC PMU (null) Register failed
[    1.734558] nest_xlink0_imc performance monitor hardware support registered
[    1.734614] nest_xlink1_imc performance monitor hardware support registered
[    1.734670] nest_xlink2_imc performance monitor hardware support registered
[    1.747043] Initialise system trusted keyrings
[    1.747054] Key type blacklist registered


To avoid ambiguity on the error message, return for invalid domain
before attempting a pmu registration.
What do we print once the patch is applied?

Once the patch is applied, we return for invalid domains. so we will 
only have

`/IMC Unknown Device type/` message printed for *unknown domains*.

And `/IMC PMU (null) Register failed/` message will appear only if the

registration fails for a *known domain*.



Thanks,

Anju

Re: [PATCH] powerpc/powernv: Return for invalid IMC domain

From: Michael Ellerman <hidden>
Date: 2019-05-25 00:57:45

On Mon, 2019-05-20 at 08:57:53 UTC, Anju T Sudhakar wrote:
Currently init_imc_pmu() can be failed either because
an IMC unit with invalid domain(i.e an IMC node not
supported by the kernel) is attempted a pmu-registration
or something went wrong while registering a valid IMC unit.
In both the cases kernel provides a 'Registration failed'
error message.

Example:
Log message, when trace-imc node is not supported by the kernel, and the
skiboot supports trace-imc node.

So for kernel, trace-imc node is now an unknown domain.

[    1.731870] nest_phb5_imc performance monitor hardware support registered
[    1.731944] nest_powerbus0_imc performance monitor hardware support registered
[    1.734458] thread_imc performance monitor hardware support registered
[    1.734460] IMC Unknown Device type
[    1.734462] IMC PMU (null) Register failed
[    1.734558] nest_xlink0_imc performance monitor hardware support registered
[    1.734614] nest_xlink1_imc performance monitor hardware support registered
[    1.734670] nest_xlink2_imc performance monitor hardware support registered
[    1.747043] Initialise system trusted keyrings
[    1.747054] Key type blacklist registered


To avoid ambiguity on the error message, return for invalid domain
before attempting a pmu registration. 

Fixes: 8f95faaac56c1 (`powerpc/powernv: Detect and create IMC device`)
Reported-by: Pavaman Subramaniyam <redacted>
Signed-off-by: Anju T Sudhakar <redacted>
Reviewed-by: Madhavan Srinivasan <redacted>
Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/b59bd3527fe3c1939340df558d7f9d56

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help