public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] use for_each_cpu
@ 2004-08-01  6:01 Anton Blanchard
  2004-08-01  6:08 ` Andrew Morton
  0 siblings, 1 reply; 6+ messages in thread
From: Anton Blanchard @ 2004-08-01  6:01 UTC (permalink / raw)
  To: akpm, rusty; +Cc: linux-kernel


Hi,

The per cpu schedule counters need to be summed up over all possible cpus.
When testing hotplug cpu remove I saw the sum of the online cpu count
for nr_uninterruptible go negative which made the load average go nuts.

Anton

diff -puN kernel/sched.c~debug_nr_running kernel/sched.c
--- foobar2/kernel/sched.c~debug_nr_running	2004-08-01 14:42:46.133968016 +1000
+++ foobar2-anton/kernel/sched.c	2004-08-01 15:26:17.272626720 +1000
@@ -1095,7 +1095,7 @@ unsigned long nr_uninterruptible(void)
 {
 	unsigned long i, sum = 0;
 
-	for_each_online_cpu(i)
+	for_each_cpu(i)
 		sum += cpu_rq(i)->nr_uninterruptible;
 
 	return sum;
@@ -1105,7 +1105,7 @@ unsigned long long nr_context_switches(v
 {
 	unsigned long long i, sum = 0;
 
-	for_each_online_cpu(i)
+	for_each_cpu(i)
 		sum += cpu_rq(i)->nr_switches;
 
 	return sum;
@@ -1115,7 +1115,7 @@ unsigned long nr_iowait(void)
 {
 	unsigned long i, sum = 0;
 
-	for_each_online_cpu(i)
+	for_each_cpu(i)
 		sum += atomic_read(&cpu_rq(i)->nr_iowait);
 
 	return sum;

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-08-02  6:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-01  6:01 [PATCH] use for_each_cpu Anton Blanchard
2004-08-01  6:08 ` Andrew Morton
2004-08-01  7:27   ` Anton Blanchard
2004-08-01  7:47     ` Andrew Morton
2004-08-01 21:00       ` Anton Blanchard
2004-08-02  5:59       ` Rusty Russell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox