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 <[EMAIL PROTECTED]> Acked-by: Cliff Wickman <[EMAIL PROTECTED]> --- 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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/