Messages in this thread Patch in this message | | | From | Srikar Dronamraju <> | Subject | [PATCH v2 4/4] sched:Use correct nid while evaluating task weights | Date | Tue, 16 Jun 2015 17:26:02 +0530 |
| |
In task_numa_migrate(), while evaluating other nodes for group consolidation, env.dst_nid is used instead of using the iterator nid. Using env.dst_nid would mean dist is always the same. Infact the same dist was calculated above while evaluating the preferred node.
Fix the above to use the iterator nid.
Also the task/group weights from the src_nid should be calculated irrespective of numa topology type.
Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> --- kernel/sched/fair.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index d1aa374..e1b3393 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -1493,9 +1493,8 @@ static int task_numa_migrate(struct task_struct *p) if (nid == env.src_nid || nid == p->numa_preferred_nid) continue; - dist = node_distance(env.src_nid, env.dst_nid); - if (sched_numa_topology_type == NUMA_BACKPLANE && - dist != env.dist) { + dist = node_distance(env.src_nid, nid); + if (dist != env.dist) { taskweight = task_weight(p, env.src_nid, dist); groupweight = group_weight(p, env.src_nid, dist); } -- 1.8.3.1
| |