diff options
author | Peter Zijlstra <peterz@infradead.org> | 2010-07-01 09:07:17 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-07-01 09:39:48 +0200 |
commit | 8c215bd3890c347dfb6a2db4779755f8b9c298a9 (patch) | |
tree | e6bd5de8a028babe9ec75f744977bd1424df106c /drivers/cpuidle | |
parent | 9715856922bf8475f5428c29b6f4a9eebc97d391 (diff) | |
download | kernel_goldelico_gta04-8c215bd3890c347dfb6a2db4779755f8b9c298a9.zip kernel_goldelico_gta04-8c215bd3890c347dfb6a2db4779755f8b9c298a9.tar.gz kernel_goldelico_gta04-8c215bd3890c347dfb6a2db4779755f8b9c298a9.tar.bz2 |
sched: Cure nr_iowait_cpu() users
Commit 0224cf4c5e (sched: Intoduce get_cpu_iowait_time_us())
broke things by not making sure preemption was indeed disabled
by the callers of nr_iowait_cpu() which took the iowait value of
the current cpu.
This resulted in a heap of preempt warnings. Cure this by making
nr_iowait_cpu() take a cpu number and fix up the callers to pass
in the right number.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arjan van de Ven <arjan@infradead.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Maxim Levitsky <maximlevitsky@gmail.com>
Cc: Len Brown <len.brown@intel.com>
Cc: Pavel Machek <pavel@ucw.cz>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: linux-pm@lists.linux-foundation.org
LKML-Reference: <1277968037.1868.120.camel@laptop>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/cpuidle')
-rw-r--r-- | drivers/cpuidle/governors/menu.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/cpuidle/governors/menu.c b/drivers/cpuidle/governors/menu.c index 52ff8aa..1b128702 100644 --- a/drivers/cpuidle/governors/menu.c +++ b/drivers/cpuidle/governors/menu.c @@ -143,7 +143,7 @@ static inline int which_bucket(unsigned int duration) * This allows us to calculate * E(duration)|iowait */ - if (nr_iowait_cpu()) + if (nr_iowait_cpu(smp_processor_id())) bucket = BUCKETS/2; if (duration < 10) @@ -175,7 +175,7 @@ static inline int performance_multiplier(void) mult += 2 * get_loadavg(); /* for IO wait tasks (per cpu!) we add 5x each */ - mult += 10 * nr_iowait_cpu(); + mult += 10 * nr_iowait_cpu(smp_processor_id()); return mult; } |