[PATCH v2 0/2] sched: blk: Handle HMP systems when completing IO

From: Qais Yousef
Date: Fri Feb 23 2024 - 10:59:23 EST


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