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

From: Stewart Smith <[email-masked]>
Date: Fri, 11 Dec 2015 11:51:23 +1100

蒲文 <[email-masked]> writes:
> On Wednesday, December 09, 2015 11:17:12 AM Michael Ellerman wrote:
>> On Tue, 2015-12-08 at 15:30 +0800, [email-masked] 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.
>
>> 
>> 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.

Way back in 24366360035a9e0a9870ed7208aa2ba1948f844d where the opal_msg
code was introduced there was a warning added for opal messages that
were unknown... arguably this is actually a bad thing to have these
days... I'll submit a patch to print it *once*.

>> 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.

Currently only FSP platform, yes. No real reason why a BMC based
platform couldn't emit those though.