aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched
diff options
context:
space:
mode:
authorDaniel Lezcano <daniel.lezcano@linaro.org>2014-01-06 06:34:44 -0500
committerIngo Molnar <mingo@kernel.org>2014-01-13 07:47:33 -0500
commit208cb16ba325552a3935bfc002e34561b0d512d7 (patch)
treef63db35ffd106421c446ea20bb14d454703c22b1 /kernel/sched
parentf7ed0a895ead0f093f59898ff9cf4e20768a5f09 (diff)
sched: Pass 'struct rq' to nohz_idle_balance()
The cpu information is stored in the struct rq. Pass the struct rq to nohz_idle_balance, so all the functions called in run_rebalance_domains have the same parameters and the 'this_cpu' variable becomes pointless. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> [ Added !SMP build fix. ] Signed-off-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/1389008085-9069-8-git-send-email-daniel.lezcano@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sched')
-rw-r--r--kernel/sched/fair.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index ff4e0dfaecc6..d7220d124f16 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -6740,9 +6740,9 @@ out:
6740 * In CONFIG_NO_HZ_COMMON case, the idle balance kickee will do the 6740 * In CONFIG_NO_HZ_COMMON case, the idle balance kickee will do the
6741 * rebalancing for all the cpus for whom scheduler ticks are stopped. 6741 * rebalancing for all the cpus for whom scheduler ticks are stopped.
6742 */ 6742 */
6743static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) 6743static void nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle)
6744{ 6744{
6745 struct rq *this_rq = cpu_rq(this_cpu); 6745 int this_cpu = this_rq->cpu;
6746 struct rq *rq; 6746 struct rq *rq;
6747 int balance_cpu; 6747 int balance_cpu;
6748 6748
@@ -6844,7 +6844,7 @@ need_kick:
6844 return 1; 6844 return 1;
6845} 6845}
6846#else 6846#else
6847static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) { } 6847static void nohz_idle_balance(struct rq *this_rq, enum cpu_idle_type idle) { }
6848#endif 6848#endif
6849 6849
6850/* 6850/*
@@ -6853,8 +6853,7 @@ static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) { }
6853 */ 6853 */
6854static void run_rebalance_domains(struct softirq_action *h) 6854static void run_rebalance_domains(struct softirq_action *h)
6855{ 6855{
6856 int this_cpu = smp_processor_id(); 6856 struct rq *this_rq = this_rq();
6857 struct rq *this_rq = cpu_rq(this_cpu);
6858 enum cpu_idle_type idle = this_rq->idle_balance ? 6857 enum cpu_idle_type idle = this_rq->idle_balance ?
6859 CPU_IDLE : CPU_NOT_IDLE; 6858 CPU_IDLE : CPU_NOT_IDLE;
6860 6859
@@ -6865,7 +6864,7 @@ static void run_rebalance_domains(struct softirq_action *h)
6865 * balancing on behalf of the other idle cpus whose ticks are 6864 * balancing on behalf of the other idle cpus whose ticks are
6866 * stopped. 6865 * stopped.
6867 */ 6866 */
6868 nohz_idle_balance(this_cpu, idle); 6867 nohz_idle_balance(this_rq, idle);
6869} 6868}
6870 6869
6871static inline int on_null_domain(struct rq *rq) 6870static inline int on_null_domain(struct rq *rq)