diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-26 11:30:17 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-03-26 11:30:17 -0700 |
commit | 5254149f6c4e938fea3735183434e208097bd188 (patch) | |
tree | 452fbfbcd405d4d97d520d561a7c0236398e228f | |
parent | 8f404faa72f4e458e7bd81ac75ce55ae829e953d (diff) | |
parent | ec1f5eeeb5a79a0d48036de649a3498da42db565 (diff) | |
download | linux-5254149f6c4e938fea3735183434e208097bd188.tar.bz2 |
Merge branch 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm
* 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm:
slab: fix cache_cache bootstrap in kmem_cache_init()
count_partial() is not used if !SLUB_DEBUG and !CONFIG_SLABINFO
-rw-r--r-- | mm/slab.c | 4 | ||||
-rw-r--r-- | mm/slub.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/mm/slab.c b/mm/slab.c index bb4070e1079f..04b308c3bc54 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -1481,7 +1481,7 @@ void __init kmem_cache_init(void) list_add(&cache_cache.next, &cache_chain); cache_cache.colour_off = cache_line_size(); cache_cache.array[smp_processor_id()] = &initarray_cache.cache; - cache_cache.nodelists[node] = &initkmem_list3[CACHE_CACHE]; + cache_cache.nodelists[node] = &initkmem_list3[CACHE_CACHE + node]; /* * struct kmem_cache size depends on nr_node_ids, which @@ -1602,7 +1602,7 @@ void __init kmem_cache_init(void) int nid; for_each_online_node(nid) { - init_list(&cache_cache, &initkmem_list3[CACHE_CACHE], nid); + init_list(&cache_cache, &initkmem_list3[CACHE_CACHE + nid], nid); init_list(malloc_sizes[INDEX_AC].cs_cachep, &initkmem_list3[SIZE_AC + nid], nid); diff --git a/mm/slub.c b/mm/slub.c index ca71d5b81e4a..b72bc98e2dc1 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2685,6 +2685,7 @@ void kfree(const void *x) } EXPORT_SYMBOL(kfree); +#if defined(SLUB_DEBUG) || defined(CONFIG_SLABINFO) static unsigned long count_partial(struct kmem_cache_node *n) { unsigned long flags; @@ -2697,6 +2698,7 @@ static unsigned long count_partial(struct kmem_cache_node *n) spin_unlock_irqrestore(&n->list_lock, flags); return x; } +#endif /* * kmem_cache_shrink removes empty slabs from the partial lists and sorts |