Re: tickle nmi watchdog whilst doing serial writes.

Dave Jones
2005-05-13T19:30:00Z

On Fri, May 13, 2005 at 09:14:52PM +0200, Arjan van de Ven wrote:
> On Fri, 2005-05-13 at 14:48 -0400, Dave Jones wrote:
> > if (up->port.flags & UPF_CONS_FLOW) {
> > tmout = 1000000;
> > while (--tmout &&
> > - ((serial_in(up, UART_MSR) & UART_MSR_CTS) == 0))
> > + ((serial_in(up, UART_MSR) & UART_MSR_CTS) == 0)) {
> > udelay(1);
> > + touch_nmi_watchdog();
> > + }
> > }
> > }
> >
> >
> > We *could* tickle it less often, but given we're busy waiting anyway
> > it probably doesnt make sense to not favour the more simple approach.
> > Hmm, maybe we want a cpu_relax() in there too. opinions?
>
> udelay() includes cpu_relax() already so that is futile.
>
> However.. this is a hack. Do we really need to do busy waiting here for
> this long??

Ohhhhh no. I've fallen into this trap before.
I'm not looking any further into serial code than I have to :)

Russell / dwmw2 may have a more definitive answers as to why
we have such a long wait here, but every time I learn something
about the serial layer I end up regretting it, so mine is a
drive-by patching only :-)

Dave