On Sun, 2012-07-08 at 14:34 -0400, Rik van Riel wrote:
On 03/16/2012 10:40 AM, Peter Zijlstra wrote:
quoted
+static u64 process_cpu_runtime(struct numa_entity *ne)
+{
+ struct task_struct *p, *t;
+ u64 runtime = 0;
+
+ rcu_read_lock();
+ t = p = ne_owner(ne);
+ if (p) do {
+ runtime += t->se.sum_exec_runtime; // @#$#@ 32bit
+ } while ((t = next_thread(t)) != p);
+ rcu_read_unlock();
+
+ return runtime;
+}
quoted
+ /*
+ * Don't bother migrating memory if there's less than 1 second
+ * of runtime on the tasks.
+ */
+ if (ne->nops->cpu_runtime(ne) < NSEC_PER_SEC)
+ return false;
Do we really want to calculate the amount of CPU time used
by a process, and start migrating after just one second?
Or would it be ok to start migrating once a process has
been scanned once or twice by the NUMA code?
You mean, the 2-3rd time we try and migrate this task, not the memory
scanning thing as per Andrea, right?
Yeah, that might work too..
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>