[Skiboot] [PATCH 1/3] uart: Drop console write data if BMC becomes unresponsive

Oliver O'Halloran oohall at gmail.com
Thu May 21 15:19:02 AEST 2020


On Thu, May 21, 2020 at 1:29 AM Vasant Hegde
<hegdevasant at linux.vnet.ibm.com> wrote:
>
> On 5/20/20 6:32 PM, Nicholas Piggin wrote:
> > Excerpts from Vasant Hegde's message of May 20, 2020 9:51 pm:
> >> If BMC becomes unresponsive (ex: during BMC reboot) during console write
> >> then we may get stuck in uart_wait_tx_room(). This will result in kernel
> >> lockups and in some cases host becomes unresponsive.
> >>
> >> This patch retries for `tx_room` for predefined number of time. If we don't
> >> get space within that time it will return zero. This will result in
> >> dropping console message.
> >
> > Is the number of times important, or should it be time based?
>
> It can be time base as well. May be I will introduce timeout option in v2.

I think it needs to be time based. The CPU is relatively fast compared
to the rate at which the UART sends out characters.  The slowness of
the LPC bus might help, but it seem possible that we could loop 256
times before space becomes available even if the UART was functoning
normally.


More information about the Skiboot mailing list