From: tip-bot for Peter Zijlstra <peterz@infradead.org>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, paulmck@linux.vnet.ibm.com,
hpa@zytor.com, mingo@kernel.org, a.p.zijlstra@chello.nl,
peterz@infradead.org, tglx@linutronix.de
Subject: [tip:sched/core] sched: Fix load avg vs. cpu-hotplug
Date: Thu, 13 Sep 2012 23:14:08 -0700 [thread overview]
Message-ID: <tip-08bedae1d0acd8c9baf514fb69fa199d0c8345f6@git.kernel.org> (raw)
In-Reply-To: <1346882630.2600.59.camel@twins>
Commit-ID: 08bedae1d0acd8c9baf514fb69fa199d0c8345f6
Gitweb: http://git.kernel.org/tip/08bedae1d0acd8c9baf514fb69fa199d0c8345f6
Author: Peter Zijlstra <peterz@infradead.org>
AuthorDate: Thu, 6 Sep 2012 00:03:50 +0200
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Thu, 13 Sep 2012 16:52:05 +0200
sched: Fix load avg vs. cpu-hotplug
Commit f319da0c68 ("sched: Fix load avg vs cpu-hotplug") was an
incomplete fix:
In particular, the problem is that at the point it calls
calc_load_migrate() nr_running := 1 (the stopper thread), so move the
call to CPU_DEAD where we're sure that nr_running := 0.
Also note that we can call calc_load_migrate() without serialization, we
know the state of rq is stable since its cpu is dead, and we modify the
global state using appropriate atomic ops.
Suggested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1346882630.2600.59.camel@twins
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
kernel/sched/core.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 8b51b2d..ba144b1 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -5048,7 +5048,9 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)
migrate_tasks(cpu);
BUG_ON(rq->nr_running != 1); /* the migration thread */
raw_spin_unlock_irqrestore(&rq->lock, flags);
+ break;
+ case CPU_DEAD:
calc_load_migrate(rq);
break;
#endif
prev parent reply other threads:[~2012-09-14 6:14 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-16 13:45 Add rq->nr_uninterruptible count to dest cpu's rq while CPU goes down Rakib Mullick
2012-08-16 13:56 ` Peter Zijlstra
2012-08-16 14:28 ` Rakib Mullick
2012-08-16 14:42 ` Peter Zijlstra
2012-08-16 15:32 ` Rakib Mullick
2012-08-16 17:46 ` Peter Zijlstra
2012-08-17 13:39 ` Rakib Mullick
2012-08-20 9:26 ` Peter Zijlstra
2012-08-20 16:10 ` Rakib Mullick
2012-08-20 16:16 ` Peter Zijlstra
2012-08-20 16:26 ` Paul E. McKenney
2012-08-27 18:44 ` Paul E. McKenney
2012-08-28 6:57 ` Rakib Mullick
2012-08-28 13:42 ` Paul E. McKenney
2012-08-28 16:52 ` Rakib Mullick
2012-08-28 17:07 ` Paul E. McKenney
2012-08-29 1:05 ` Rakib Mullick
2012-09-04 18:43 ` [tip:sched/core] sched: Fix load avg vs cpu-hotplug tip-bot for Peter Zijlstra
2012-09-05 12:36 ` Peter Zijlstra
2012-09-05 13:29 ` Ingo Molnar
2012-09-05 17:01 ` Peter Zijlstra
2012-09-05 17:34 ` Ingo Molnar
2012-09-05 22:03 ` Peter Zijlstra
2012-09-05 23:39 ` Paul E. McKenney
2012-09-06 3:30 ` Rakib Mullick
2012-09-14 6:14 ` tip-bot for Peter Zijlstra [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-08bedae1d0acd8c9baf514fb69fa199d0c8345f6@git.kernel.org \
--to=peterz@infradead.org \
--cc=a.p.zijlstra@chello.nl \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.