[PATCH 1/4 v2] hotplug cpu move tasks in empty cpusets to parentnode_online_map fix

From: Cliff Wickman
Date: Mon Feb 04 2008 - 12:40:58 EST



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>
Acked-by: Cliff Wickman <cpw@xxxxxxx>

---

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

Index: linux-2.6/kernel/cpuset.c
===================================================================
--- linux-2.6.orig/kernel/cpuset.c
+++ linux-2.6/kernel/cpuset.c
@@ -1762,7 +1762,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 */
@@ -1777,8 +1778,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
--
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/