[lkml]   [2001]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
Subject[PATCH]: why reschedule a disabled tasklet?

Hi all,

Attached is a patch i use to get my sparc LX to boot (against 2.4.14).
Without it the SUN does not work. I'm not sure if this is the right way to
fix it, but i fail to see way softirq should be raised again if there are no
enabled tasklets left. Am i missing anything?

The SUN got in a deadlock. The schedule() function didn't return
execution to spawn_ksoftirqd, because ksoftirqd kept on doing do_softirqd to
handle a disabled tasklet (sun_kbd_bh).

Both my i386 and sun4m seem to run stable with this patch.


diff -ruN linux-2.4.14/kernel/softirq.c linux/kernel/softirq.c
--- linux-2.4.14/kernel/softirq.c Thu Nov 8 15:58:24 2001
+++ linux/kernel/softirq.c Thu Nov 8 15:59:40 2001
@@ -193,10 +193,9 @@
if (!test_and_clear_bit(TASKLET_STATE_SCHED, &t->state))
- tasklet_unlock(t);
- continue;
+ continue;

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at
 \ /
  Last update: 2005-03-22 13:13    [W:0.030 / U:0.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site