]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
sched_ext: idle: clarify comments
authorAndrea Righi <arighi@nvidia.com>
Sat, 28 Dec 2024 10:04:11 +0000 (11:04 +0100)
committerTejun Heo <tj@kernel.org>
Sun, 29 Dec 2024 22:44:15 +0000 (12:44 -1000)
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.

Reviewed-by: Yury Norov <yury.norov@gmail.com>
Signed-off-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/sched/ext.c

index eec4716de2258113365dc00364d71f6343723e5a..2d701203a3db90637306b4d343fe5192b4119862 100644 (file)
@@ -3180,6 +3180,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);
@@ -3408,6 +3412,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).