Re: [PATCH v2] cpusets: randomize node rotor used in cpuset_mem_spread_node()
From: David Rientjes <rientjes@google.com>
Date: 2011-05-27 23:31:14
Also in:
lkml
On Sat, 28 May 2011, Michal Hocko wrote:
quoted
--- a/include/linux/nodemask.h~cpusets-randomize-node-rotor-used-in-cpuset_mem_spread_node-fix-2 +++ a/include/linux/nodemask.h@@ -433,8 +433,6 @@ static inline void node_set_offline(int nr_online_nodes = num_node_state(N_ONLINE); } -extern int node_random(const nodemask_t *maskp); - #else static inline int node_state(int node, enum node_states state)@@ -466,7 +464,15 @@ static inline int num_node_state(enum no #define node_set_online(node) node_set_state((node), N_ONLINE) #define node_set_offline(node) node_clear_state((node), N_ONLINE) -static inline int node_random(const nodemask_t *mask) { return 0; } +#endif + +#if defined(CONFIG_NUMA) && (MAX_NUMNODES > 1) +extern int node_random(const nodemask_t *maskp); +#else +static inline int node_random(const nodemask_t *mask) +{ + return 0; +} #endifI have to admit that I quite don't understand concept of several nodes with UMA archs but do we really want to provide the sane node all the time?
They aren't nodes on UMA machines, they are memory regions for DISCONTIGMEM which are separated by large holes in the address space. These archs will never sanely use node_random(), so it doesn't really matter except for CONFIG_NUMA where MAX_NUMNODES > 1, since they won't be selecting random memory regions. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>