diff options
author | Miao Xie <miaox@cn.fujitsu.com> | 2008-11-19 18:36:30 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-11-19 21:49:58 -0500 |
commit | f481891fdc49d3d1b8a9674a1825d183069a805f (patch) | |
tree | 4f027a1321dcd06165394d0a23e49df51c8befc1 /include/linux | |
parent | ac97b9f9a2d0b83488e0bbcb8517b229d5c9b142 (diff) |
cpuset: update top cpuset's mems after adding a node
After adding a node into the machine, top cpuset's mems isn't updated.
By reviewing the code, we found that the update function
cpuset_track_online_nodes()
was invoked after node_states[N_ONLINE] changes. It is wrong because
N_ONLINE just means node has pgdat, and if node has/added memory, we use
N_HIGH_MEMORY. So, We should invoke the update function after
node_states[N_HIGH_MEMORY] changes, just like its commit says.
This patch fixes it. And we use notifier of memory hotplug instead of
direct calling of cpuset_track_online_nodes().
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Acked-by: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Paul Menage <menage@google.com
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/cpuset.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h index 2691926fb506..8e540d32c9fe 100644 --- a/include/linux/cpuset.h +++ b/include/linux/cpuset.h | |||
@@ -74,8 +74,6 @@ static inline int cpuset_do_slab_mem_spread(void) | |||
74 | return current->flags & PF_SPREAD_SLAB; | 74 | return current->flags & PF_SPREAD_SLAB; |
75 | } | 75 | } |
76 | 76 | ||
77 | extern void cpuset_track_online_nodes(void); | ||
78 | |||
79 | extern int current_cpuset_is_being_rebound(void); | 77 | extern int current_cpuset_is_being_rebound(void); |
80 | 78 | ||
81 | extern void rebuild_sched_domains(void); | 79 | extern void rebuild_sched_domains(void); |
@@ -151,8 +149,6 @@ static inline int cpuset_do_slab_mem_spread(void) | |||
151 | return 0; | 149 | return 0; |
152 | } | 150 | } |
153 | 151 | ||
154 | static inline void cpuset_track_online_nodes(void) {} | ||
155 | |||
156 | static inline int current_cpuset_is_being_rebound(void) | 152 | static inline int current_cpuset_is_being_rebound(void) |
157 | { | 153 | { |
158 | return 0; | 154 | return 0; |