| Subject | Re: [RFC][PATCH 25/26] sched, numa: Only migrate long-running entities | From | Peter Zijlstra <> | Date | Mon, 09 Jul 2012 14:26:27 +0200 |
| |
On Sun, 2012-07-08 at 14:34 -0400, Rik van Riel wrote: > 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?
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..
|