From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Dave Jones <davej@redhat.com>,
akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: tickle nmi watchdog whilst doing serial writes.
Date: Fri, 13 May 2005 20:37:35 +0100 [thread overview]
Message-ID: <20050513203735.A28297@flint.arm.linux.org.uk> (raw)
In-Reply-To: <1116011692.6694.19.camel@laptopd505.fenrus.org>; from arjan@infradead.org on Fri, May 13, 2005 at 09:14:52PM +0200
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??
Of course you do. Think about CTS flow control where the other end
is also busy and has to drain its tty buffers before it can allow
the remote end to proceed. (And who says its another Linux box
anyway?)
However, if people are using CTS flow control, they want reliable
logging. Therefore, it's even questionable whether we should even
time out (but we do to keep the system "running".)
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
next prev parent reply other threads:[~2005-05-13 19:44 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-13 18:48 tickle nmi watchdog whilst doing serial writes Dave Jones
2005-05-13 19:14 ` Arjan van de Ven
2005-05-13 19:23 ` Dave Jones
2005-05-13 19:37 ` Russell King [this message]
2005-05-14 6:43 ` Andrew Morton
2005-05-14 6:57 ` Dave Jones
2005-05-14 7:07 ` Andrew Morton
2005-05-14 10:31 ` Ed Tomlinson
2005-05-14 10:53 ` Alexander Nyberg
2005-05-15 11:40 ` Andi Kleen
2005-05-14 10:53 ` Ed Tomlinson
2005-05-15 11:38 ` Andi Kleen
2005-05-15 12:07 ` Russell King
2005-05-15 12:20 ` Andi Kleen
2005-05-15 14:01 ` Russell King
2005-05-15 14:03 ` Andi Kleen
2005-05-19 0:24 ` George Anzinger
2005-05-19 7:33 ` Russell King
2005-05-23 20:20 ` Bill Davidsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050513203735.A28297@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=akpm@osdl.org \
--cc=arjan@infradead.org \
--cc=davej@redhat.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox