[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1341836705.3462.62.camel@twins>
Date: Mon, 09 Jul 2012 14:25:05 +0200
From: Peter Zijlstra <a.p.zijlstra@...llo.nl>
To: Rik van Riel <riel@...hat.com>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...e.hu>, Paul Turner <pjt@...gle.com>,
Suresh Siddha <suresh.b.siddha@...el.com>,
Mike Galbraith <efault@....de>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Lai Jiangshan <laijs@...fujitsu.com>,
Dan Smith <danms@...ibm.com>,
Bharata B Rao <bharata.rao@...il.com>,
Lee Schermerhorn <Lee.Schermerhorn@...com>,
Andrea Arcangeli <aarcange@...hat.com>,
Johannes Weiner <hannes@...xchg.org>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [RFC][PATCH 14/26] sched, numa: Numa balancer
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 from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists