]> git.karo-electronics.de Git - karo-tx-linux.git/commit
sched: add tracepoints related to NUMA task migration
authorMel Gorman <mgorman@suse.de>
Fri, 3 Jan 2014 03:09:58 +0000 (14:09 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 3 Jan 2014 03:09:58 +0000 (14:09 +1100)
commit535af734cbd15eeae6fcc69d676714d44b9cad35
tree64839899971b6d91e7bb7dc0accaeb593d989d18
parent6b505e8c9a58dcd28be0647cfaf60f731e7bc003
sched: add tracepoints related to NUMA task migration

This patch adds three tracepoints
 o trace_sched_move_numa when a task is moved to a node
 o trace_sched_swap_numa when a task is swapped with another task
 o trace_sched_stick_numa when a numa-related migration fails

The tracepoints allow the NUMA scheduler activity to be monitored and the
following high-level metrics can be calculated

 o NUMA migrated stuck  nr trace_sched_stick_numa
 o NUMA migrated idle  nr trace_sched_move_numa
 o NUMA migrated swapped nr trace_sched_swap_numa
 o NUMA local swapped  trace_sched_swap_numa src_nid == dst_nid (should never happen)
 o NUMA remote swapped  trace_sched_swap_numa src_nid != dst_nid (should == NUMA migrated swapped)
 o NUMA group swapped  trace_sched_swap_numa src_ngid == dst_ngid
 Maybe a small number of these are acceptable
 but a high number would be a major surprise.
 It would be even worse if bounces are frequent.
 o NUMA avg task migs.  Average number of migrations for tasks
 o NUMA stddev task mig  Self-explanatory
 o NUMA max task migs.  Maximum number of migrations for a single task

In general the intent of the tracepoints is to help diagnose problems
where automatic NUMA balancing appears to be doing an excessive amount of
useless work.

Signed-off-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Alex Thorlton <athorlton@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/trace/events/sched.h
kernel/sched/core.c
kernel/sched/fair.c