aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/sched/fair.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 8fbb0116bb5a..3fa3e1839c86 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1613,11 +1613,13 @@ static void task_numa_placement(struct task_struct *p)
1613 spin_unlock_irq(group_lock); 1613 spin_unlock_irq(group_lock);
1614 } 1614 }
1615 1615
1616 /* Preferred node as the node with the most faults */ 1616 if (max_faults) {
1617 if (max_faults && max_nid != p->numa_preferred_nid) { 1617 /* Set the new preferred node */
1618 /* Update the preferred nid and migrate task if possible */ 1618 if (max_nid != p->numa_preferred_nid)
1619 sched_setnuma(p, max_nid); 1619 sched_setnuma(p, max_nid);
1620 numa_migrate_preferred(p); 1620
1621 if (task_node(p) != p->numa_preferred_nid)
1622 numa_migrate_preferred(p);
1621 } 1623 }
1622} 1624}
1623 1625