Re: SMP update: 2.1.30

Ingo Molnar (mingo@pc5829.hil.siemens.at)
Fri, 28 Mar 1997 15:26:54 +0100 (MET)


On 27 Mar 1997, Linus Torvalds wrote:

[...]
> However, the change is quite fundamental, and I'd ask anybody who is
> running Linux/SMP to try out the new kernel if you're at all willing to
> test bleeding-edge stuff. I haven't yet much looked into the impact of
> the new code on uni-processor machines, but I'd certainly appreciate
> comments and potential patches for UP-related issues too...

sched_yield() is slightly broken, here is a (tested) fix:

--- linux-2.1.30_vanilla/kernel/sched.c Fri Mar 28 12:32:36 1997
+++ linux/kernel/sched.c Fri Mar 28 16:20:39 1997
@@ -1553,11 +1553,11 @@

asmlinkage int sys_sched_yield(void)
{
- spin_unlock(&scheduler_lock);
+ spin_lock(&scheduler_lock);
spin_lock_irq(&runqueue_lock);
move_last_runqueue(current);
spin_unlock_irq(&runqueue_lock);
- spin_lock(&scheduler_lock);
+ spin_unlock(&scheduler_lock);
need_resched = 1;
return 0;
}