diff options
author | Daniel Lezcano <daniel.lezcano@linaro.org> | 2014-01-06 06:34:44 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-01-13 07:47:33 -0500 |
commit | 208cb16ba325552a3935bfc002e34561b0d512d7 (patch) | |
tree | f63db35ffd106421c446ea20bb14d454703c22b1 /kernel/sched | |
parent | f7ed0a895ead0f093f59898ff9cf4e20768a5f09 (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.c | 11 |
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 | */ |
6743 | static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) | 6743 | static 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 |
6847 | static void nohz_idle_balance(int this_cpu, enum cpu_idle_type idle) { } | 6847 | static 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 | */ |
6854 | static void run_rebalance_domains(struct softirq_action *h) | 6854 | static 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 | ||
6871 | static inline int on_null_domain(struct rq *rq) | 6870 | static inline int on_null_domain(struct rq *rq) |