lib: Restrict cpumask_local_spread to houskeeping CPUs
authorAlex Belits <abelits@marvell.com>
Thu, 25 Jun 2020 22:34:41 +0000 (18:34 -0400)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 8 Jul 2020 09:39:01 +0000 (11:39 +0200)
commit1abdfe706a579a702799fce465bceb9fb01d407c
tree20d48a585227b71d155fcaa3de3536063a8809cf
parent46609ce227039fd192e0ecc7d940bed587fd2c78
lib: Restrict cpumask_local_spread to houskeeping CPUs

The current implementation of cpumask_local_spread() does not respect the
isolated CPUs, i.e., even if a CPU has been isolated for Real-Time task,
it will return it to the caller for pinning of its IRQ threads. Having
these unwanted IRQ threads on an isolated CPU adds up to a latency
overhead.

Restrict the CPUs that are returned for spreading IRQs only to the
available housekeeping CPUs.

Signed-off-by: Alex Belits <abelits@marvell.com>
Signed-off-by: Nitesh Narayan Lal <nitesh@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200625223443.2684-2-nitesh@redhat.com
lib/cpumask.c