aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2007-10-16 04:25:38 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:42:59 -0400
commit0e1e7c7a739562a321fda07c7cd2a97a7114f8f8 (patch)
treef2148e5b667152681625c19cf8b2a556500994ea /Documentation
parent523b945855a1427000ffc707c610abe5947ae607 (diff)
Memoryless nodes: Use N_HIGH_MEMORY for cpusets
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_HIGH_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. Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com> Signed-off-by: Bob Picco <bob.picco@hp.com> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Mel Gorman <mel@skynet.ie> Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/cpusets.txt7
1 files changed, 4 insertions, 3 deletions
diff --git a/Documentation/cpusets.txt b/Documentation/cpusets.txt
index f2c0a6842930..b875d231ac74 100644
--- a/Documentation/cpusets.txt
+++ b/Documentation/cpusets.txt
@@ -35,7 +35,8 @@ CONTENTS:
35---------------------- 35----------------------
36 36
37Cpusets provide a mechanism for assigning a set of CPUs and Memory 37Cpusets provide a mechanism for assigning a set of CPUs and Memory
38Nodes to a set of tasks. 38Nodes to a set of tasks. In this document "Memory Node" refers to
39an on-line node that contains memory.
39 40
40Cpusets constrain the CPU and Memory placement of tasks to only 41Cpusets constrain the CPU and Memory placement of tasks to only
41the resources within a tasks current cpuset. They form a nested 42the resources within a tasks current cpuset. They form a nested
@@ -220,8 +221,8 @@ and name space for cpusets, with a minimum of additional kernel code.
220The cpus and mems files in the root (top_cpuset) cpuset are 221The cpus and mems files in the root (top_cpuset) cpuset are
221read-only. The cpus file automatically tracks the value of 222read-only. The cpus file automatically tracks the value of
222cpu_online_map using a CPU hotplug notifier, and the mems file 223cpu_online_map using a CPU hotplug notifier, and the mems file
223automatically tracks the value of node_online_map using the 224automatically tracks the value of node_states[N_MEMORY]--i.e.,
224cpuset_track_online_nodes() hook. 225nodes with memory--using the cpuset_track_online_nodes() hook.
225 226
226 227
2271.4 What are exclusive cpusets ? 2281.4 What are exclusive cpusets ?