[Skiboot] [PATCH] Rate limit OPAL_MSG_OCC to only one outstanding message to host

Stewart Smith stewart at linux.vnet.ibm.com
Fri Sep 25 16:40:00 AEST 2015


Patrick Williams <patrick at stwcx.xyz> writes:
> On Fri, Sep 25, 2015 at 10:59:08AM +1000, Stewart Smith wrote:
>> +{
>> +	lock(&occ_lock);
>> +	occ_opal_msg_outstanding = false;
>> +	unlock(&occ_lock);
>> +}
>
> ...
>
>> +				if (!rc) {
>>  					chip->throttle = occ_data->throttle;
>> +					occ_opal_msg_outstanding = true;
>> +					break;
>
> Are you sure you don't want these to be ++ / -- ?  With this current
> implementation you can still run out of memory if a two or more socket
> system is throwing excessive throttles from both OCCs.

It's run from a poller, so we only start iterating through the memory
regions every so often (maybe even only once/second). If we had an
interrupet (like we'd like) then it'd be a bit more of an issue, but with
this patch, we still wouldn't have more than one outstanding message to
linux as we won't poll for a change until after linux has acked the
previous one.



More information about the Skiboot mailing list