From 567cf023f3d9cf2507909b79a3f064bc8310cae4 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 26 Mar 2010 12:22:14 +0100 Subject: [PATCH] --- yaml --- r: 191407 b: refs/heads/master c: cc87f76a601d2d256118f7bab15e35254356ae21 h: refs/heads/master i: 191405: 6f635018d0c0d39375d107d4b9dcfe12ec11a28e 191403: 1862f6247c9a3cad1a258fd010fedd8bbfabba4a 191399: ccaae264deef575f7944620dd60adb977172f0ac 191391: be89796d8411c774c5f47f2a32271d2f882abdef v: v3 --- [refs] | 2 +- trunk/kernel/sched.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 9d438d43fbec..0483cfc0ebab 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 65cc8e4859ff29a9ddc989c88557d6059834c2a2 +refs/heads/master: cc87f76a601d2d256118f7bab15e35254356ae21 diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 51d336e08a92..14c8d2a1b38a 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -2378,8 +2378,12 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state, * * First fix up the nr_uninterruptible count: */ - if (task_contributes_to_load(p)) - rq->nr_uninterruptible--; + if (task_contributes_to_load(p)) { + if (likely(cpu_online(orig_cpu))) + rq->nr_uninterruptible--; + else + this_rq()->nr_uninterruptible--; + } p->state = TASK_WAKING; if (p->sched_class->task_waking)