Re: [RFC][PATCH 25/26] sched, numa: Only migrate long-running entities

From: Rik van Riel
Date: Sun Jul 08 2012 - 14:34:55 EST


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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/