diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-01-21 08:49:52 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-01-21 08:49:52 -0800 |
commit | 341031caec0cd730e84d248d95851bf54ec4e41f (patch) | |
tree | f9531f3bef8446e0eb2f9f4ba1ed6fa1000585c8 /kernel/sched.c | |
parent | 836f48c5f8c6ef004419f1605514aa05eb58eefb (diff) | |
parent | 6d558c3ac9b6508d26fd5cadccce51fc9d726b1c (diff) |
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
sched: Reassign prev and switch_count when reacquire_kernel_lock() fail
sched: Fix vmark regression on big machines
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index c535cc4f642..4508fe7048b 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -5530,8 +5530,11 @@ need_resched_nonpreemptible: post_schedule(rq); - if (unlikely(reacquire_kernel_lock(current) < 0)) + if (unlikely(reacquire_kernel_lock(current) < 0)) { + prev = rq->curr; + switch_count = &prev->nivcsw; goto need_resched_nonpreemptible; + } preempt_enable_no_resched(); if (need_resched()) |