lkml.org 
[lkml]   [1999]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 3 Ooopses in 2.2.3
On Tue, 23 Mar 1999, Anton Blanchard wrote:

>--- vger/linux/kernel/softirq.c 1999/01/02 16:51:08 1.17
>+++ /cvsroot/vger/linux/kernel/softirq.c 1999/03/15 19:57:56 1.18
>@@ -64,6 +64,7 @@
> run_bottom_halves();
> hardirq_endlock(cpu);
> }
>+ __cli();
> softirq_endlock(cpu);

In the irq a cli will be a nono because we are just returning to usermode
or whatever and so we'll just restore the interrupts state of the previous
level. Maybe you want to avoid to get a new nested irq that may start a
new bh handling inside the envinronment of the first irq?

A __cli() in schedule() will be for sure a nono. But if we __cli() there
we can at least change the:

spin_lock_irq(&runqueue_lock);

to

spin_lock(&runqueue_lock);

in schedule().

It will be interesting to know if it was really a stack depth problem...

Andrea Arcangeli


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:50    [W:0.542 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site