lkml.org 
[lkml]   [2020]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 04/11] sched/numa: Trace when no candidate CPU was found on the preferred node
    Date
    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@techsingularity.net>
    ---
    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 d6b1d70e0b83..4ab18fba5b82 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) {
    --
    2.16.4
    \
     
     \ /
      Last update: 2020-02-12 10:37    [W:2.816 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site