Merge branch 'sched/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
[muen/linux.git] / kernel / sched / core.c
index 02a20ef196a654f2ce6ec4d1f4ba581333356c0e..091e089063be1dc25ab1180fec3f99a4408fb024 100644 (file)
@@ -2880,6 +2880,18 @@ unsigned long long nr_context_switches(void)
        return sum;
 }
 
+/*
+ * Consumers of these two interfaces, like for example the cpuidle menu
+ * governor, are using nonsensical data. Preferring shallow idle state selection
+ * for a CPU that has IO-wait which might not even end up running the task when
+ * it does become runnable.
+ */
+
+unsigned long nr_iowait_cpu(int cpu)
+{
+       return atomic_read(&cpu_rq(cpu)->nr_iowait);
+}
+
 /*
  * IO-wait accounting, and how its mostly bollocks (on SMP).
  *
@@ -2915,31 +2927,11 @@ unsigned long nr_iowait(void)
        unsigned long i, sum = 0;
 
        for_each_possible_cpu(i)
-               sum += atomic_read(&cpu_rq(i)->nr_iowait);
+               sum += nr_iowait_cpu(i);
 
        return sum;
 }
 
-/*
- * Consumers of these two interfaces, like for example the cpuidle menu
- * governor, are using nonsensical data. Preferring shallow idle state selection
- * for a CPU that has IO-wait which might not even end up running the task when
- * it does become runnable.
- */
-
-unsigned long nr_iowait_cpu(int cpu)
-{
-       struct rq *this = cpu_rq(cpu);
-       return atomic_read(&this->nr_iowait);
-}
-
-void get_iowait_load(unsigned long *nr_waiters, unsigned long *load)
-{
-       struct rq *rq = this_rq();
-       *nr_waiters = atomic_read(&rq->nr_iowait);
-       *load = rq->load.weight;
-}
-
 #ifdef CONFIG_SMP
 
 /*