Re: [RFC][PATCH 14/26] sched, numa: Numa balancer
From: Peter Zijlstra <hidden>
Date: 2012-07-09 12:25:28
Also in:
lkml
On Sun, 2012-07-08 at 14:35 -0400, Rik van Riel wrote:
This looks like something that should be fixed before the code is submitted for merging upstream.
static bool __task_can_migrate(struct task_struct *t, u64 *runtime, int node)
{
#ifdef CONFIG_CPUSETS
if (!node_isset(node, t->mems_allowed))
return false;
#endif
if (!cpumask_intersects(cpumask_of_node(node), tsk_cpus_allowed(t)))
return false;
*runtime += t->se.sum_exec_runtime; // @#$#@ 32bit
return true;
}
static bool process_can_migrate(struct numa_entity *ne, int node)
{
struct task_struct *p, *t;
bool allowed = false;
u64 runtime = 0;
rcu_read_lock();
t = p = ne_owner(ne);
if (p) do {
allowed = __task_can_migrate(t, &runtime, node);
if (!allowed)
break;
} while ((t = next_thread(t)) != p);
rcu_read_unlock();
/*
* Don't bother migrating memory if there's less than 1 second
* of runtime on the tasks.
*/
return allowed && runtime > NSEC_PER_SEC;
}
is what it looks like..
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>