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

Rik van Riel
2012-07-08T18:34:52Z

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