On Thu, Jul 04, 2013 at 02:54:15PM +0100, Mel Gorman wrote: > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 9247345..387f28d 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -863,9 +863,13 @@ find_idlest_cpu_node(int this_cpu, int nid) > load = weighted_cpuload(i); > > if (load < min_load) { > - /* Do not preempt a task running on a preferred node */ > + /* > + * Do not preempt a task running on a preferred node or > + * tasks are are pinned to their current CPU > + */ > struct task_struct *p = cpu_rq(i)->curr; > - if (p->numa_preferred_nid != nid) { > + if (p->numa_preferred_nid != nid && > + cpumask_weight(tsk_cpus_allowed(p)) > 1) { We have p->nr_cpus_allowed for that. > min_load = load; > idlest_cpu = i; > } -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>