Skip to contentSkip to conversation

powerpc/opal: add warning for unimplemented OPAL message type

PATCH In review [email protected] 2 participants 3 messages Dec 8, 2015 – Dec 9, 2015 PowerPC

lore
Share & tools
lore
#0 lore raw

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

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?

---

arch/powerpc/platforms/powernv/opal.c +4 -1
index f084afa..ef498ab 100644
@@ -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

#1 lore raw

Hi Wen,

Thanks for the patch.

Quoted 4 lines · On Tue, 2015-12-08 at 15:30 +0800, [email protected] 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

author
#2 lore raw

Hi Michael,

Quoted 4 lines · Michael Ellerman

Hi Wen,

Thanks for the patch.

Quoted 8 lines
Quoted 5 lines · On Tue, 2015-12-08 at 15:30 +0800, [email protected] 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?

The kernel version is v4.2.1-openpower2, from the newest version at
https://github.com/open-power/linux.

Quoted 9 lines

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.

Quoted 10 lines

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.

Quoted 2 lines

cheers

Thanks!
Wen Pu