Christoph Lameter
523b945855
Memoryless nodes: Fix GFP_THISNODE behavior
...
GFP_THISNODE checks that the zone selected is within the pgdat (node) of the
first zone of a nodelist. That only works if the node has memory. A
memoryless node will have its first node on another pgdat (node).
GFP_THISNODE currently will return simply memory on the first pgdat. Thus it
is returning memory on other nodes. GFP_THISNODE should fail if there is no
local memory on a node.
Add a new set of zonelists for each node that only contain the nodes that
belong to the zones itself so that no fallback is possible.
Then modify gfp_type to pickup the right zone based on the presence of
__GFP_THISNODE.
Drop the existing GFP_THISNODE checks from the page_allocators hot path.
Signed-off-by: Christoph Lameter <clameter@sgi.com >
Acked-by: Nishanth Aravamudan <nacc@us.ibm.com >
Tested-by: Lee Schermerhorn <lee.schermerhorn@hp.com >
Acked-by: Bob Picco <bob.picco@hp.com >
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com >
Cc: Mel Gorman <mel@skynet.ie >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2007-10-16 09:42:59 -07:00
..
2007-10-09 19:59:16 -07:00
2007-09-24 07:15:48 +02:00
2007-10-13 14:36:18 +01:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-09 18:31:57 -04:00
2007-09-23 22:17:27 +02:00
2007-10-10 16:51:36 -07:00
2007-10-15 10:47:35 -07:00
2007-10-10 16:53:11 -07:00
2007-10-15 17:56:36 -07:00
2007-10-14 12:41:51 -07:00
2007-10-10 16:51:59 -07:00
2007-10-12 14:55:45 -04:00
2007-10-10 16:49:02 -07:00
2007-10-11 22:24:13 +01:00
2007-10-10 09:25:57 +02:00
2007-10-12 12:40:38 +02:00
2007-10-12 12:50:07 +02:00
2007-10-16 09:42:58 -07:00
2007-10-14 22:57:45 +02:00
2007-10-10 21:15:29 -07:00
2007-10-04 18:40:57 -04:00
2007-10-10 16:55:42 -07:00
2007-10-10 16:54:36 -07:00
2007-10-12 14:51:03 -07:00
2007-10-12 14:51:01 -07:00
2007-10-16 09:42:50 -07:00
2007-10-09 20:22:20 -04:00
2007-10-10 16:53:56 -07:00
2007-09-19 15:12:19 +10:00
2007-10-10 16:52:52 -07:00
2007-10-10 16:48:08 -07:00
2007-10-10 16:54:03 -07:00
2007-10-16 09:42:58 -07:00
2007-10-16 09:42:59 -07:00
2007-10-10 08:55:27 +01:00
2007-09-26 00:01:17 -04:00
2007-10-14 12:41:51 -07:00
2007-10-15 08:12:00 -07:00
2007-10-15 08:12:00 -07:00
2007-10-09 22:56:30 -04:00
2007-10-13 23:56:32 +02:00
2007-10-09 22:07:51 -03:00
2007-10-13 23:56:33 +02:00
2007-10-13 17:47:51 +02:00
2007-10-10 16:52:59 -07:00
2007-10-10 16:51:59 -07:00
2007-10-15 12:26:29 -07:00
2007-10-10 16:51:16 -07:00
2007-10-10 16:52:52 -07:00
2007-10-10 16:49:13 -07:00
2007-10-10 16:52:04 -07:00
2007-10-10 16:52:52 -07:00
2007-10-10 16:51:16 -07:00
2007-10-10 16:49:10 -07:00
2007-10-14 12:41:52 -07:00
2007-10-10 16:49:21 -07:00
2007-10-16 09:42:49 -07:00
2007-10-15 13:41:39 -07:00
2007-10-16 09:42:50 -07:00
2007-10-10 16:55:55 -07:00
2007-09-16 21:13:58 -07:00
2007-10-15 12:26:37 -07:00
2007-10-09 22:07:28 -03:00
2007-10-09 22:07:23 -03:00
2007-10-15 17:56:36 -07:00
2007-10-16 09:42:49 -07:00
2007-10-15 17:00:19 +02:00
2007-10-12 12:40:38 +02:00
2007-10-12 21:27:47 -04:00
2007-10-12 14:51:12 -07:00
2007-10-10 16:48:12 -07:00
2007-10-13 10:18:29 +02:00
2007-09-11 22:24:45 +01:00
2007-10-12 14:55:47 -04:00
2007-10-10 16:51:35 -07:00
2007-10-11 22:11:12 +02:00
2007-09-21 15:55:55 +09:00
2007-10-10 16:54:03 -07:00
2007-10-16 09:42:52 -07:00
2007-10-16 09:42:54 -07:00
2007-10-16 09:42:53 -07:00
2007-10-16 09:42:53 -07:00
2007-10-16 09:42:59 -07:00
2007-10-13 23:56:29 +02:00
2007-10-11 22:11:12 +02:00
2007-10-10 16:49:07 -07:00
2007-10-13 09:52:26 -07:00
2007-10-15 12:26:29 -07:00
2007-10-15 12:26:29 -07:00
2007-10-10 21:15:29 -07:00
2007-10-10 16:48:06 -07:00
2007-10-09 17:20:52 -04:00
2007-10-09 17:15:11 -04:00
2007-10-09 17:19:15 -04:00
2007-10-10 16:52:14 -07:00
2007-10-16 09:42:58 -07:00
2007-10-10 16:49:04 -07:00
2007-10-16 09:42:55 -07:00
2007-10-16 09:42:50 -07:00
2007-10-12 15:03:18 -07:00
2007-10-12 15:03:18 -07:00
2007-10-10 16:53:50 -07:00
2007-10-10 16:53:55 -07:00
2007-10-10 16:49:20 -07:00
2007-10-12 14:51:07 -07:00
2007-09-11 17:21:20 -07:00
2007-10-10 16:49:22 -07:00
2007-10-16 09:42:53 -07:00
2007-10-11 22:11:12 +02:00
2007-10-14 12:41:52 -07:00
2007-10-10 16:54:11 -07:00
2007-10-10 21:22:05 -07:00
2007-10-16 09:42:53 -07:00
2007-10-10 16:51:28 -07:00
2007-10-14 12:41:51 -07:00
2007-10-10 16:55:33 -07:00
2007-10-16 09:42:50 -07:00
2007-09-20 13:19:59 -07:00
2007-10-15 14:06:58 -07:00
2007-10-16 09:42:53 -07:00
2007-10-10 16:52:39 -07:00
2007-10-14 12:41:51 -07:00
2007-10-10 09:25:57 +02:00
2007-10-12 14:51:12 -07:00
2007-10-15 12:59:43 -07:00
2007-10-15 17:00:19 +02:00
2007-10-12 14:51:09 -07:00
2007-10-12 14:55:34 -07:00
2007-09-19 11:24:18 -07:00
2007-10-12 14:51:04 -07:00
2007-10-09 22:07:04 -03:00
2007-10-15 10:47:35 -07:00
2007-10-12 14:05:17 +10:00
2007-10-10 16:53:57 -07:00