]> git.hungrycats.org Git - linux/commit
[PATCH] Don't call mmdrop under a spinlock
authorAndrew Morton <akpm@digeo.com>
Thu, 20 Feb 2003 05:45:35 +0000 (21:45 -0800)
committerPaul Mackerras <paulus@samba.org>
Thu, 20 Feb 2003 05:45:35 +0000 (21:45 -0800)
commit6fe3b423bf08cb927523d6906f91ae9bbb0b6b19
tree1987cc257c704366d3f4639e8bc10f0623a86726
parent776969f04b4a372e9eea8f7ddf683907613765bf
[PATCH] Don't call mmdrop under a spinlock

We're calling mmdrop() under spin_lock_irq(&rq->lock).  But mmdrop
calls vfree(), which calls smp_call_function().

It is not legal to call smp_call_function() with irq's off.  Because
another CPU may be running smp_call_function() against _this_ CPU, which
deadlocks.

So the patch arranges for mmdrop() to not be called under
spin_lock_irq(&rq->lock).
kernel/sched.c