[PATCH] powerpc/opal: add warning for unimplemented OPAL message type

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

STALE3915d

3 messages, 2 authors, 2015-12-09 · open the first message on its own page

[PATCH] powerpc/opal: add warning for unimplemented OPAL message type

From: wen.pu@powercore.com.cn <hidden>
Date: 2015-12-08 07:37:25

I found that there are unimplemented OPAL message types "OPAL_MSG_EPOW" and 
"OPAL_MSG_DPO" in PowerNV Platform. If skiboot send such messages to kernel, 
nothing will happen(notifier_call_chain() will silently drop it). So I add a warning 
to inform what has happened, is it necessary? 

Signed-off-by: Wen Pu <redacted>
---
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index f084afa..ef498ab 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -281,6 +281,10 @@ static void opal_handle_message(void)
  pr_warning("%s: Unknown message type: %u\n", __func__, type);
  return;
  }
+ if(type == OPAL_MSG_EPOW || type == OPAL_MSG_DPO) {
+ pr_warning("%s: Unimplemented message type: %u\n", __func__, type);
+ return;
+ }
  opal_message_do_notify(type, (void *)&msg);
 }
---
Thanks!
Wen Pu

Re: [PATCH] powerpc/opal: add warning for unimplemented OPAL message type

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-12-09 00:17:13

Hi Wen,

Thanks for the patch.

On Tue, 2015-12-08 at 15:30 +0800, wen.pu@powercore.com.cn wrote:
I found that there are unimplemented OPAL message types "OPAL_MSG_EPOW" and 
"OPAL_MSG_DPO" in PowerNV Platform. If skiboot send such messages to kernel, 
nothing will happen(notifier_call_chain() will silently drop it). So I add a warning 
to inform what has happened, is it necessary? 
What kernel version are you using?

Looking at mainline (4.4-rc4), I do see handlers registered for EPOW and DPO:

  https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/powerpc/platforms/powernv/opal-power.c?#n82

That code was merged in 4.3.


In general I don't think we want to warn for unhandled message types, because
we support old kernels running on new skiboot. In that case if we warned on
every unhandled message we'd potentially spam the console with warnings.

But perhaps we can come up with something smarter, that only warns once for
each unhandled message type, or something like that? Did you have a bug that
would have been easier to debug with a warning here?

cheers

Re: [PATCH] powerpc/opal: add warning for unimplemented OPAL message type

From: Wen Pu <hidden>
Date: 2015-12-09 08:56:57

Hi Michael,

On Wednesday, December 09, 2015 11:17:12 AM Michael Ellerman wrote:
Hi Wen,

Thanks for the patch.

On Tue, 2015-12-08 at 15:30 +0800, wen.pu@powercore.com.cn wrote:
quoted
I found that there are unimplemented OPAL message types "OPAL_MSG_EPOW"
and
"OPAL_MSG_DPO" in PowerNV Platform. If skiboot send such messages to
kernel, nothing will happen(notifier_call_chain() will silently drop it).
So I add a warning to inform what has happened, is it necessary?
What kernel version are you using?
The kernel version is v4.2.1-openpower2, from the newest version at 
https://github.com/open-power/linux.
Looking at mainline (4.4-rc4), I do see handlers registered for EPOW and
DPO:

 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/p
owerpc/platforms/powernv/opal-power.c?#n82

That code was merged in 4.3.
I do find that EPOW and DPO are registered in kernel 4.3. So maybe in the near 
future it will be merged into open-power/linux.

In general I don't think we want to warn for unhandled message types,
because we support old kernels running on new skiboot. In that case if we
warned on every unhandled message we'd potentially spam the console with
warnings.

But perhaps we can come up with something smarter, that only warns once for
each unhandled message type, or something like that? Did you have a bug that
would have been easier to debug with a warning here?
Yes, I think it is a good idea that only warns once, or warns every a few 
seconds. 
I found that EPOW and DPO only used in IBM FSP platform, not in Habanero 
platform that I had. So I modified the skiboot code and sent a EPOW/DPO message 
to kernel, and found that kernel warn nothing. I have no bug with a warning 
here, and just get a log message via dmesg.
cheers
Thanks!
Wen Pu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help