From: Lee Schermerhorn Here's a cut at fixing up uses of the online node map in generic code. mm/swap_prefetch.c:clear_last_prefetch_free() clear_last_current_free() use nodes with memory for prefetch nodes. just in case ... Signed-off-by: Lee Schermerhorn Acked-by: Christoph Lameter Signed-off-by: Andrew Morton --- mm/swap_prefetch.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN mm/swap_prefetch.c~memoryless-nodes-fixup-uses-of-node_online_map-in-generic-code-prefetch mm/swap_prefetch.c --- a/mm/swap_prefetch.c~memoryless-nodes-fixup-uses-of-node_online_map-in-generic-code-prefetch +++ a/mm/swap_prefetch.c @@ -249,7 +249,7 @@ static void clear_last_prefetch_free(voi * Reset the nodes suitable for prefetching to all nodes. We could * update the data to take into account memory hotplug if desired.. */ - sp_stat.prefetch_nodes = node_online_map; + sp_stat.prefetch_nodes = node_states[N_HIGH_MEMORY]; for_each_node_mask(node, sp_stat.prefetch_nodes) { struct node_stats *ns = &sp_stat.node[node]; @@ -261,7 +261,7 @@ static void clear_current_prefetch_free( { int node; - sp_stat.prefetch_nodes = node_online_map; + sp_stat.prefetch_nodes = node_states[N_HIGH_MEMORY]; for_each_node_mask(node, sp_stat.prefetch_nodes) { struct node_stats *ns = &sp_stat.node[node]; _