Re: [PATCH take2] Memoryless nodes: use "node_memory_map" for cpuset mems_allowed validation

Nishanth Aravamudan
2007-07-24T15:15:15Z

On 24.07.2007 [10:15:25 -0400], Lee Schermerhorn wrote:
> Memoryless Nodes: use "node_memory_map" for cpusets - take 2
>
> Against 2.6.22-rc6-mm1 atop Christoph Lameter's memoryless nodes
> series
>
> take 2:
> + replaced node_online_map in cpuset_current_mems_allowed()
> with node_states[N_MEMORY]
> + replaced node_online_map in cpuset_init_smp() with
> node_states[N_MEMORY]
>
> cpusets try to ensure that any node added to a cpuset's
> mems_allowed is on-line and contains memory. The assumption
> was that online nodes contained memory. Thus, it is possible
> to add memoryless nodes to a cpuset and then add tasks to this
> cpuset. This results in continuous series of oom-kill and
> apparent system hang.
>
> Change cpusets to use node_states[N_MEMORY] [a.k.a.
> node_memory_map] in place of node_online_map when vetting
> memories. Return error if admin attempts to write a non-empty
> mems_allowed node mask containing only memoryless-nodes.

I think you still are missing a few comment changes (anything mentioning
'track'ing node_online_map will need to be changed, I think). Also, I
don't see the necessary change in common_cpu_mem_hotplug_unplug()
similar to cpuset_init_smp()'s change.

Thanks,
Nish

--
Nishanth Aravamudan <nacc@us.ibm.com>
IBM Linux Technology Center