Mel Gorman 494de90098 Do not overwrite nr_zones on !NUMA when initialising zlcache_ptr
The non-NUMA case of build_zonelist_cache() would initialize the
zlcache_ptr for both node_zonelists[] to NULL.

Which is problematic, since non-NUMA only has a single node_zonelists[]
entry, and trying to zero the non-existent second one just overwrote the
nr_zones field instead.

As kswapd uses this value to determine what reclaim work is necessary,
the result is that kswapd never reclaims.  This causes processes to
stall frequently in low-memory situations as they always direct reclaim.
This patch initialises zlcache_ptr correctly.

Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Tested-by: Dan Williams <dan.j.williams@intel.com>
[ Simplified patch a bit ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-03 09:22:59 -07:00
..
2008-03-19 18:53:35 -07:00
2008-03-19 18:53:35 -07:00
2008-06-06 11:29:09 -07:00
2008-04-17 20:05:36 +02:00
2008-06-23 11:28:32 -07:00
2007-10-20 01:27:18 +02:00
2008-04-28 08:58:18 -07:00
2007-10-18 14:37:31 -07:00
2007-05-21 09:18:19 -07:00
2008-02-05 09:44:19 -08:00
2008-06-12 18:05:41 -07:00
2007-10-20 01:27:18 +02:00
2008-04-28 08:58:18 -07:00
2008-05-19 20:55:25 +03:00
2008-05-22 19:52:18 +03:00
2008-05-24 09:56:09 -07:00
2007-11-14 18:45:41 -08:00
2008-05-13 08:02:23 -07:00