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)