summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2017-07-31 17:50:05 +0200
committerIngo Molnar <mingo@kernel.org>2017-08-10 13:25:14 +0200
commit90001d67be2fa2acbe3510d1f64fa6533efa30ef (patch)
treea4b367a4f79c1b7110004688523dd80ceee893ae /sound
parent20435d84e5f2041c64c792399ab6f2948a2c2252 (diff)
sched/fair: Fix wake_affine() for !NUMA_BALANCING
In commit: 3fed382b46ba ("sched/numa: Implement NUMA node level wake_affine()") Rik changed wake_affine to consider NUMA information when balancing between LLC domains. There are a number of problems here which this patch tries to address: - LLC < NODE; in this case we'd use the wrong information to balance - !NUMA_BALANCING: in this case, the new code doesn't do any balancing at all - re-computes the NUMA data for every wakeup, this can mean iterating up to 64 CPUs for every wakeup. - default affine wakeups inside a cache We address these by saving the load/capacity values for each sched_domain during regular load-balance and using these values in wake_affine_llc(). The obvious down-side to using cached values is that they can be too old and poorly reflect reality. But this way we can use LLC wide information and thus not rely on assuming LLC matches NODE. We also don't rely on NUMA_BALANCING nor do we have to aggegate two nodes (or even cache domains) worth of CPUs for each wakeup. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Josef Bacik <josef@toxicpanda.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rik van Riel <riel@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Fixes: 3fed382b46ba ("sched/numa: Implement NUMA node level wake_affine()") [ Minor readability improvements. ] Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'sound')
0 files changed, 0 insertions, 0 deletions