ksoftirqd is quite scheduler intensive, and while its startup is
correct (no need of any change there), it tends to trigger scheduler
bugs (one of those bugs was just fixed in pre5). The reason I never seen
the deadlock I also fixed this other scheduler bug in my tree:
ftp://ftp.us.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.7pre5aa1/00_sched-yield-1
this one I forgot to sumbit but here it is now for easy merging:
--- 2.4.4aa3/kernel/sched.c.~1~ Sun Apr 29 17:37:05 2001
+++ 2.4.4aa3/kernel/sched.c Tue May 1 16:39:42 2001
@@ -674,8 +674,10 @@
#endif
spin_unlock_irq(&runqueue_lock);
- if (prev == next)
+ if (prev == next) {
+ current->policy &= ~SCHED_YIELD;
goto same_process;
+ }
#ifdef CONFIG_SMP
/*
Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/