On 05.01 Hugh Dickins wrote:
> On Tue, 1 May 2001, J . A . Magallon wrote:
> > >
> > > OK works here ...
> >
> > Me too.
> >
> > Perhaps this reschedules ok in UP but kinda fails in SMP...
>
> Great. And see Andrea's SCHED_YIELD explanation in the "sluggish"
> mail thread. Well, I didn't try to understand it in full, and I
> think he was expecting another thread to hang, rather than the main
> startup itself; but no doubt deeper thought would make sense of it all.
>
I saw it. Minimal change to make 2.4.4-ac2 work:
========== patch-fork-yield
--- linux/kernel/fork.c.orig Tue May 1 20:03:12 2001
+++ linux/kernel/fork.c Tue May 1 20:52:18 2001
@@ -677,8 +677,11 @@
* few simple things and then exec(). This is only important in the
* first timeslice. In the long run, the scheduling behavior is
* unchanged.
+ * Make sure the child gets the SCHED_YIELD flag cleared, even if
+ * it inherited it, to avoid deadlocks.
*/
p->counter = (current->counter + 1) >> 1;
+ p->policy &= ~SCHED_YIELD;
current->counter >>= 1;
current->policy |= SCHED_YIELD;
current->need_resched = 1;
Is this enough (Andrea?) or just "works for me" ?.
-- J.A. Magallon # Let the source mailto:jamagallon@able.es # be with you, Luke...Linux werewolf 2.4.4-ac1 #1 SMP Tue May 1 11:35:17 CEST 2001 i686
- 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/
This archive was generated by hypermail 2b29 : Mon May 07 2001 - 21:00:10 EST