Files
linux/include/linux
Michal Hocko 778d3b0ff0 cpusets: randomize node rotor used in cpuset_mem_spread_node()
[ This patch has already been accepted as commit 0ac0c0d0f8 but later
  reverted (commit 35926ff5fb) because it itroduced arch specific
  __node_random which was defined only for x86 code so it broke other
  archs.  This is a followup without any arch specific code.  Other than
  that there are no functional changes.]

Some workloads that create a large number of small files tend to assign
too many pages to node 0 (multi-node systems).  Part of the reason is
that the rotor (in cpuset_mem_spread_node()) used to assign nodes starts
at node 0 for newly created tasks.

This patch changes the rotor to be initialized to a random node number
of the cpuset.

[akpm@linux-foundation.org: fix layout]
[Lee.Schermerhorn@hp.com: Define stub numa_random() for !NUMA configuration]
[mhocko@suse.cz: Make it arch independent]
[akpm@linux-foundation.org: fix CONFIG_NUMA=y, MAX_NUMNODES>1 build]
Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com>
Signed-off-by: Michal Hocko <mhocko@suse.cz>
Reviewed-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Paul Menage <menage@google.com>
Cc: Jack Steiner <steiner@sgi.com>
Cc: Robin Holt <holt@sgi.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Jack Steiner <steiner@sgi.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: Paul Menage <menage@google.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Robin Holt <holt@sgi.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-07-26 16:49:43 -07:00
..
2011-07-25 21:00:19 -07:00
2011-07-20 20:47:43 -04:00
2011-07-23 20:44:25 +02:00
2011-05-26 17:12:34 -07:00
2011-07-06 14:44:42 -07:00
2011-07-25 20:57:16 -07:00
2011-07-20 01:44:12 -04:00
2011-07-05 23:42:17 -07:00
2011-05-29 13:03:09 +01:00
2011-06-25 17:29:52 +02:00
2011-07-01 15:34:45 -07:00
2011-06-28 10:48:34 +02:00
2011-05-25 20:43:32 +02:00
2011-07-01 10:37:15 +02:00
2011-07-06 01:56:38 -07:00
2011-07-21 13:47:54 -07:00
2011-06-14 11:30:22 +02:00
2011-05-26 17:12:37 -07:00
2011-07-26 16:49:42 -07:00
2011-05-29 11:32:28 -07:00
2011-07-05 15:26:58 -04:00
2011-05-26 17:12:37 -07:00
2011-07-25 14:27:32 -04:00
2011-07-20 14:31:47 +02:00
2011-07-23 07:56:59 +01:00
2011-06-07 10:02:35 +02:00
2011-07-05 15:26:58 -04:00
2011-07-25 20:57:11 -07:00
2011-07-26 16:49:42 -07:00
2011-06-15 20:03:59 -07:00
2011-06-27 20:30:08 +02:00
2011-06-07 09:05:42 -07:00
2011-05-30 11:14:16 +09:30