[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