[PATCH 1/3] hotplug cpu move tasks in empty cpusets to parent node_online_map fix

From: Paul Jackson
Date: Mon Jan 14 2008 - 01:41:55 EST


From: Paul Jackson <pj@xxxxxxx>

As of the October 2007 kernel/cpuset.c patch "Memoryless nodes:
Use N_HIGH_MEMORY for cpusets", cpuset nodes are relative to
the nodes with (HIGH) memory, not relative to all nodes in
node_online_map.

Signed-off-by: Paul Jackson <pj@xxxxxxx>
Cc: Cliff Wickman <cpw@xxxxxxx>

---

kernel/cpuset.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

--- 2.6.24-rc6-mm1.orig/kernel/cpuset.c 2008-01-12 18:52:43.480406969 -0800
+++ 2.6.24-rc6-mm1/kernel/cpuset.c 2008-01-12 19:07:44.330236260 -0800
@@ -1817,7 +1817,8 @@ static void scan_for_empty_cpusets(const
cont = cp->css.cgroup;
/* Remove offline cpus and mems from this cpuset. */
cpus_and(cp->cpus_allowed, cp->cpus_allowed, cpu_online_map);
- nodes_and(cp->mems_allowed, cp->mems_allowed, node_online_map);
+ nodes_and(cp->mems_allowed, cp->mems_allowed,
+ node_states[N_HIGH_MEMORY]);
if ((cpus_empty(cp->cpus_allowed) ||
nodes_empty(cp->mems_allowed))) {
/* Move tasks from the empty cpuset to a parent */
@@ -1832,8 +1833,8 @@ static void scan_for_empty_cpusets(const

/*
* The cpus_allowed and mems_allowed nodemasks in the top_cpuset track
- * cpu_online_map and node_online_map. Force the top cpuset to track
- * whats online after any CPU or memory node hotplug or unplug event.
+ * cpu_online_map and node_states[N_HIGH_MEMORY]. Force the top cpuset to
+ * track what's online after any CPU or memory node hotplug or unplug event.
*
* Since there are two callers of this routine, one for CPU hotplug
* events and one for memory node hotplug events, we could have coded

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@xxxxxxx> 1.650.933.1373
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/