Messages in this thread | | | Date | Fri, 6 Jun 2014 19:18:01 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched,numa: always try to migrate to preferred node at task_numa_placement time |
| |
On Wed, Jun 04, 2014 at 04:33:15PM -0400, Rik van Riel wrote: > It is possible that at task_numa_placement time, the task's > numa_preferred_nid does not change, but the task is not > actually running on the preferred node at the time. > > In that case, we still want to attempt migration to the > preferred node.
So we have that numa_migrate_retry which was supposed to keep kicking the task until it got where it needed to go.
But now you continuously kick from task_numa_placement().
Clearly the retry thing didn't work, what happened? We got to the preferred nid, disabled the retry and got moved away again?
Do we want to remove the retry logic in favour of this more aggressive form?
> @@ -1575,11 +1575,13 @@ static void task_numa_placement(struct task_struct *p)
> + if (max_faults) { > + /* Set the new preferred node */ > + if (max_nid != p->numa_preferred_nid) > + sched_setnuma(p, max_nid); > + > + if (task_node(p) != p->numa_preferred_nid) > + numa_migrate_preferred(p); > } >
| |