diff options
| author | Mel Gorman <[email protected]> | 2008-01-24 05:49:54 -0800 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2008-01-24 08:07:27 -0800 |
| commit | 9c09a95cf431fcf5720f2e408befa24b32b8cf4d (patch) | |
| tree | c188d29023856625e91dea6c2e54d6e4c7969e87 | |
| parent | c5c99429fa57dcf6e05203ebe3676db1ec646793 (diff) | |
slab: partially revert list3 changes
Partial revert the changes made by 04231b3002ac53f8a64a7bd142fde3fa4b6808c6
to the kmem_list3 management. On a machine with a memoryless node, this
BUG_ON was triggering
static void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid)
{
struct list_head *entry;
struct slab *slabp;
struct kmem_list3 *l3;
void *obj;
int x;
l3 = cachep->nodelists[nodeid];
BUG_ON(!l3);
Signed-off-by: Mel Gorman <[email protected]>
Cc: Pekka Enberg <[email protected]>
Acked-by: Christoph Lameter <[email protected]>
Cc: "Aneesh Kumar K.V" <[email protected]>
Cc: Nishanth Aravamudan <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
| -rw-r--r-- | mm/slab.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/slab.c b/mm/slab.c index aebb9f68557a..b03b2e46b806 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -1590,7 +1590,7 @@ void __init kmem_cache_init(void) /* Replace the static kmem_list3 structures for the boot cpu */ init_list(&cache_cache, &initkmem_list3[CACHE_CACHE], node); - for_each_node_state(nid, N_NORMAL_MEMORY) { + for_each_online_node(nid) { init_list(malloc_sizes[INDEX_AC].cs_cachep, &initkmem_list3[SIZE_AC + nid], nid); @@ -1968,7 +1968,7 @@ static void __init set_up_list3s(struct kmem_cache *cachep, int index) { int node; - for_each_node_state(node, N_NORMAL_MEMORY) { + for_each_online_node(node) { cachep->nodelists[node] = &initkmem_list3[index + node]; cachep->nodelists[node]->next_reap = jiffies + REAPTIMEOUT_LIST3 + @@ -3815,7 +3815,7 @@ static int alloc_kmemlist(struct kmem_cache *cachep) struct array_cache *new_shared; struct array_cache **new_alien = NULL; - for_each_node_state(node, N_NORMAL_MEMORY) { + for_each_online_node(node) { if (use_alien_caches) { new_alien = alloc_alien_cache(node, cachep->limit); |