Re: tickle nmi watchdog whilst doing serial writes.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, May 15, 2005 at 02:20:14PM +0200, Andi Kleen wrote:
> 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() ?

The interrupt state doesn't tell us whether we can schedule.  It
tells us when we can't schedule, which is different from when we
can.  For example:

	spin_lock(foo_lock);
	...
	printk("blah blah blah\n");
	...
	spin_unlock(foo_lock);

This context is non-preemptable, but doesn't have IRQs disabled.
The solution would be to keep a "spinlock depth" counter, but
obviously that's not a possibility.

I would agree that the most correct thing to do would be to export
touch_nmi_watchdog()... if only Linus would accept the arguments
_for_ exporting it.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux