Subject: Re: [PATCH] powerpc/powernv: pr_warn_once on unsupported OPAL_MSG type

From: Stewart Smith <[email-masked]>
Date: Fri, 11 Dec 2015 17:54:27 +1100

Michael Ellerman <[email-masked]> writes:
> On Fri, 2015-12-11 at 12:08 +1100, Stewart Smith wrote:
>> When running on newer OPAL firmware that supports sending extra
>> OPAL_MSG types, we would print a warning on *every* message received.
>> 
>> This could be a problem for kernels that don't support OPAL_MSG_OCC
>> on machines that are running real close to thermal limits and the
>> OCC is throttling the chip. For a kernel that is paying attention to
>> the message queue, we could get these notifications quite often.
>> 
>> Conceivably, future message types could also come fairly often,
>> and printing that we didn't understand them 10,000 times provides
>> no further information than printing them once.
>> 
>> diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
>> index 4296d55e88f3..57cffb80bc36 100644
>> --- a/arch/powerpc/platforms/powernv/opal.c
>> +++ b/arch/powerpc/platforms/powernv/opal.c
>> @@ -278,7 +278,7 @@ static void opal_handle_message(void)
>>  
>>  	/* Sanity check */
>>  	if (type >= OPAL_MSG_TYPE_MAX) {
>> -		pr_warning("%s: Unknown message type: %u\n", __func__, type);
>> +		pr_warn_once("%s: Unknown message type: %u\n", __func__, type);
>>  		return;
>
> This will only print once, even if there are multiple unknown message types,
> are we happy with that?

I am - it's just "your firmware knows more than you do". From that, when
diagnosing, you can grab firmware version to know how many it has, and
from kernel version you'll know how many it has. There'll probably be
something printed in OPAL logs if somebody starts to care about it.

We could always hexdump out what the message is and create Yet Another
Unreadable Error Message.....