Due to recent changes in how topology is represented on asymmetric multi processing systems like big.LITTLE where all cpus share the last LLC, there is a performance regression as cpus with different compute capacities appear under the same LLC and we no longer send an IPI when the requester is running on a different cluster with different compute capacity. Restore the old behavior by adding a new cpus_equal_capacity() function to help check for the new condition for these systems. Changes since v1: * Split the patch per subsystem. * Convert cpus_gte_capacity() to cpus_equal_capacity() * Make cpus_equal_capacity() return immediately for SMP systems. Qais Yousef (2): sched: Add a new function to compare if two cpus have the same capacity block/blk-mq: Don't complete locally if capacities are different block/blk-mq.c | 5 +++-- include/linux/sched/topology.h | 6 ++++++ kernel/sched/core.c | 11 +++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) -- 2.34.1