diff options
| author | Valentin Schneider <valentin.schneider@arm.com> | 2019-01-17 10:34:08 -0500 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2019-02-11 02:02:17 -0500 |
| commit | 892d59c22208be820a5463b5f74eb7f0b7f2b03a (patch) | |
| tree | 8df1c43462d3ac620487cb44f655bb0ae86d8bf1 | |
| parent | 7edab78d7400ea0997f8e2e971004d824b5bb511 (diff) | |
sched/fair: Explain LLC nohz kick condition
Provide a comment explaining the LLC related nohz kick in
nohz_balancer_kick().
Signed-off-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Dietmar.Eggemann@arm.com
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: morten.rasmussen@arm.com
Cc: vincent.guittot@linaro.org
Link: https://lkml.kernel.org/r/20190117153411.2390-3-valentin.schneider@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
| -rw-r--r-- | kernel/sched/fair.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 0692c8ff6ff6..ac6b52d8c79e 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c | |||
| @@ -9601,8 +9601,13 @@ static void nohz_balancer_kick(struct rq *rq) | |||
| 9601 | sds = rcu_dereference(per_cpu(sd_llc_shared, cpu)); | 9601 | sds = rcu_dereference(per_cpu(sd_llc_shared, cpu)); |
| 9602 | if (sds) { | 9602 | if (sds) { |
| 9603 | /* | 9603 | /* |
| 9604 | * XXX: write a coherent comment on why we do this. | 9604 | * If there is an imbalance between LLC domains (IOW we could |
| 9605 | * See also: http://lkml.kernel.org/r/20111202010832.602203411@sbsiddha-desk.sc.intel.com | 9605 | * increase the overall cache use), we need some less-loaded LLC |
| 9606 | * domain to pull some load. Likewise, we may need to spread | ||
| 9607 | * load within the current LLC domain (e.g. packed SMT cores but | ||
| 9608 | * other CPUs are idle). We can't really know from here how busy | ||
| 9609 | * the others are - so just get a nohz balance going if it looks | ||
| 9610 | * like this LLC domain has tasks we could move. | ||
| 9606 | */ | 9611 | */ |
| 9607 | nr_busy = atomic_read(&sds->nr_busy_cpus); | 9612 | nr_busy = atomic_read(&sds->nr_busy_cpus); |
| 9608 | if (nr_busy > 1) { | 9613 | if (nr_busy > 1) { |
