| Date | Sun, 08 Jul 2012 14:34:05 -0400 | From | Rik van Riel <> | Subject | Re: [RFC][PATCH 25/26] sched, numa: Only migrate long-running entities |
| |
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
|