[tip: sched/core] sched/numa: Trace when no candidate CPU was found on the preferred node

From: tip-bot2 for Mel Gorman
Date: Mon Feb 24 2020 - 10:21:25 EST


The following commit has been merged into the sched/core branch of tip:

Commit-ID: f22aef4afb0d6cc22e408d8254cf6d02d7982ef1
Gitweb: https://git.kernel.org/tip/f22aef4afb0d6cc22e408d8254cf6d02d7982ef1
Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
AuthorDate: Mon, 24 Feb 2020 09:52:12
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Mon, 24 Feb 2020 11:36:32 +01:00

sched/numa: Trace when no candidate CPU was found on the preferred node

sched:sched_stick_numa is meant to fire when a task is unable to migrate
to the preferred node. The case where no candidate CPU could be found is
not traced which is an important gap. The tracepoint is not fired when
the task is not allowed to run on any CPU on the preferred node or the
task is already running on the target CPU but neither are interesting
corner cases.

Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Valentin Schneider <valentin.schneider@xxxxxxx>
Cc: Phil Auld <pauld@xxxxxxxxxx>
Cc: Hillf Danton <hdanton@xxxxxxxx>
Link: https://lore.kernel.org/r/20200224095223.13361-3-mgorman@xxxxxxxxxxxxxxxxxxx
---
kernel/sched/fair.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index f38ff5a..f524ce3 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1848,8 +1848,10 @@ static int task_numa_migrate(struct task_struct *p)
}

/* No better CPU than the current one was found. */
- if (env.best_cpu == -1)
+ if (env.best_cpu == -1) {
+ trace_sched_stick_numa(p, env.src_cpu, -1);
return -EAGAIN;
+ }

best_rq = cpu_rq(env.best_cpu);
if (env.best_task == NULL) {