All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <ak@muc.de>
To: Dave Jones <davej@redhat.com>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: tickle nmi watchdog whilst doing serial writes.
Date: Sun, 15 May 2005 14:20:14 +0200	[thread overview]
Message-ID: <m1ekc8adfl.fsf@muc.de> (raw)
In-Reply-To: <20050515130742.A29619@flint.arm.linux.org.uk> (Russell King's message of "Sun, 15 May 2005 13:07:42 +0100")

Russell King <rmk+lkml@arm.linux.org.uk> writes:

> On Sun, May 15, 2005 at 01:38:02PM +0200, Andi Kleen wrote:
>> Dave Jones <davej@redhat.com> writes:
>> >  
>> >  #include <asm/io.h>
>> >  #include <asm/irq.h>
>> > @@ -2099,8 +2100,10 @@ static inline void wait_for_xmitr(struct
>> >  	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();
>> 
>> Note that touch_nmi_watchdog is not exported on i386 - Linus vetoed
>> that some time ago. The real fix of course is to use schedule_timeout(),
>> but that might break printk() with interrupts off :/
>
> Not to mention printk() from atomic contexts and panic().  No,
> schedule_timeout() is _not_ a "real fix" but a kludge.

Then someone needs to convince Linus to export touch_nmi_watchdog
again. 

Or how about checking if interrupts are off here (iirc we have 
a generic function for that now) and then using
a smaller timeout and otherwise schedule_timeout() ?

-Andi

  reply	other threads:[~2005-05-15 12:20 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
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 [this message]
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=m1ekc8adfl.fsf@muc.de \
    --to=ak@muc.de \
    --cc=akpm@osdl.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.