[Skiboot] [PATCH 2/2] SBE: Rate limit timer requests

Vasant Hegde hegdevasant at linux.vnet.ibm.com
Tue Jan 5 20:15:10 AEDT 2021


On 12/17/20 12:29 PM, Vasant Hegde wrote:
> We schedule timer and wait for `timer expiry` interrupt from SBE.
> If we get new timer request which is lesser than inflight timer
> expiry value we can update timer (essentially sending new timer chip-op
> and SBE takes care of stoping inflight timer and scheduling new one).
> 
> SBE runs at much slower speed than host CPU. If we do continuous timer
> update like below then SBE will be busy with handling PSU side timer
> message and will not get time to handle FIFO side requests.
>    send timer chip-op -> Got ACK -> send timer chip-op
> 
> Hence this patch limits number of continuous timer update and we will
> restart sending timer request as soon as we get timer expiry interrupt.
> 
> Rate limit value (2) is suggested by SBE team.
> 
> With this patch:
>    If our timer requests are : 2ms, 1500us, 1000us and 800us
>      (and requests are coming after sending each message)
>    We will schedule timer for 2ms and then update timer for 1500us and 1000us
>      (These update happens after getting ACK interrupt from SBE)
>    We will not send 800us request.
>    At 1000us we get `timer expiry` and we are good to send next timer requests
>       (At this stage both 1000us and 800us timeout happens. We will schedule
>        next timer request with timeout value 500us (1500-1000)).

Merged this series to master as of  2e654443050a.

-Vasant


More information about the Skiboot mailing list