Re: [PATCH 05/10] sched_ext: idle: clarify comments

Yury Norov
2024-12-23T22:28:03Z

On Fri, Dec 20, 2024 at 04:11:37PM +0100, Andrea Righi wrote:
> Add a comments to clarify about the usage of cpumask_intersects().
>
> Moreover, update scx_select_cpu_dfl() description clarifying that the
> final step of the idle selection logic involves searching for any idle
> CPU in the system that the task can use.
>
> Signed-off-by: Andrea Righi <arighi@nvidia.com>

Reviewed-by: Yury Norov <yury.norov@gmail.com>

> ---
> kernel/sched/ext_idle.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/kernel/sched/ext_idle.c b/kernel/sched/ext_idle.c
> index dedd39febc88..4952e2793304 100644
> --- a/kernel/sched/ext_idle.c
> +++ b/kernel/sched/ext_idle.c
> @@ -52,6 +52,10 @@ static bool test_and_clear_cpu_idle(int cpu)
> * scx_pick_idle_cpu() can get caught in an infinite loop as
> * @cpu is never cleared from idle_masks.smt. Ensure that @cpu
> * is eventually cleared.
> + *
> + * NOTE: Use cpumask_intersects() and cpumask_test_cpu() to
> + * reduce memory writes, which may help alleviate cache
> + * coherence pressure.
> */
> if (cpumask_intersects(smt, idle_masks.smt))
> cpumask_andnot(idle_masks.smt, idle_masks.smt, smt);
> @@ -280,6 +284,8 @@ static void update_selcpu_topology(void)
> * 4. Pick a CPU within the same NUMA node, if enabled:
> * - choose a CPU from the same NUMA node to reduce memory access latency.
> *
> + * 5. Pick any idle CPU usable by the task.
> + *
> * Step 3 and 4 are performed only if the system has, respectively, multiple
> * LLC domains / multiple NUMA nodes (see scx_selcpu_topo_llc and
> * scx_selcpu_topo_numa).
> --
> 2.47.1