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

From: Shrikanth Hegde
Date: Sat Feb 24 2024 - 08:44:04 EST




On 2/23/24 9:27 PM, Qais Yousef wrote:
> 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.
>

nit: Did you mean !SMP systems here?
Because in changes i see its returning true directly if its in !CONFIG_SMP path.

> 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(-)
>