On 03/16/2012 10:40 AM, Peter Zijlstra wrote:
+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; +}
+ /* + * 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? -- All rights reversed -- 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>