From 4c2008ecc01b3029d87eae6556f91409912a7921 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 16 Sep 2009 21:09:13 +0200 Subject: [PATCH] --- yaml --- r: 163023 b: refs/heads/master c: eb24073bc1fe3e569a855cf38d529fb650c35524 h: refs/heads/master i: 163021: ebcedaf49432b8f5eb09cc530128436198dddbed 163019: 9e235b92cd7bf35bff2448aeaca16cd3b9e59f44 163015: 10db5ab3975c4da698fb024f666374fe7d090743 163007: 21b9d1ba1c6bd76ee630481364e2cce7651510c4 v: v3 --- [refs] | 2 +- trunk/kernel/sched.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index ecf0bcafe360..2bd896c6339a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 182a85f8a119c789610a9d464f4129ded9f3c107 +refs/heads/master: eb24073bc1fe3e569a855cf38d529fb650c35524 diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 5049d959bb26..969dfaef2465 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -2343,7 +2343,11 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state, /* * In order to handle concurrent wakeups and release the rq->lock * we put the task in TASK_WAKING state. + * + * First fix up the nr_uninterruptible count: */ + if (task_contributes_to_load(p)) + rq->nr_uninterruptible--; p->state = TASK_WAKING; task_rq_unlock(rq, &flags);