From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from psmtp.com (na3sys010amx134.postini.com [74.125.245.134]) by kanga.kvack.org (Postfix) with SMTP id E1D346B00AF for ; Thu, 1 Nov 2012 17:48:15 -0400 (EDT) Message-Id: <0000013abdf2240c-0e6c7fbf-73ff-415f-ab38-77bb47952469-000000@email.amazonses.com> Date: Thu, 1 Nov 2012 21:48:13 +0000 From: Christoph Lameter Subject: CK5 [13/18] Common definition for the array of kmalloc caches References: <20121101214538.971500204@linux.com> Sender: owner-linux-mm@kvack.org List-ID: To: Pekka Enberg Cc: Joonsoo Kim , Glauber Costa , linux-mm@kvack.org, David Rientjes , elezegarcia@gmail.com Have a common definition fo the kmalloc cache arrays in SLAB and SLUB Acked-by: Glauber Costa Signed-off-by: Christoph Lameter Index: linux/mm/slab_common.c =================================================================== --- linux.orig/mm/slab_common.c 2012-11-01 10:10:21.801994185 -0500 +++ linux/mm/slab_common.c 2012-11-01 10:10:42.822342471 -0500 @@ -263,6 +263,14 @@ struct kmem_cache *__init create_kmalloc return s; } +struct kmem_cache *kmalloc_caches[KMALLOC_SHIFT_HIGH + 1]; +EXPORT_SYMBOL(kmalloc_caches); + +#ifdef CONFIG_ZONE_DMA +struct kmem_cache *kmalloc_dma_caches[KMALLOC_SHIFT_HIGH + 1]; +EXPORT_SYMBOL(kmalloc_dma_caches); +#endif + #endif /* !CONFIG_SLOB */ Index: linux/include/linux/slub_def.h =================================================================== --- linux.orig/include/linux/slub_def.h 2012-11-01 10:10:39.866293513 -0500 +++ linux/include/linux/slub_def.h 2012-11-01 10:10:42.826342537 -0500 @@ -119,12 +119,6 @@ struct kmem_cache { #endif /* - * We keep the general caches in an array of slab caches that are used for - * 2^x bytes of allocations. - */ -extern struct kmem_cache *kmalloc_caches[KMALLOC_SHIFT_HIGH + 1]; - -/* * Find the slab cache for a given combination of allocation flags and size. * * This ought to end up with a global pointer to the right cache Index: linux/mm/slub.c =================================================================== --- linux.orig/mm/slub.c 2012-11-01 10:10:39.866293513 -0500 +++ linux/mm/slub.c 2012-11-01 10:10:42.826342537 -0500 @@ -3164,13 +3164,6 @@ int __kmem_cache_shutdown(struct kmem_ca * Kmalloc subsystem *******************************************************************/ -struct kmem_cache *kmalloc_caches[KMALLOC_SHIFT_HIGH + 1]; -EXPORT_SYMBOL(kmalloc_caches); - -#ifdef CONFIG_ZONE_DMA -static struct kmem_cache *kmalloc_dma_caches[KMALLOC_SHIFT_HIGH + 1]; -#endif - static int __init setup_slub_min_order(char *str) { get_option(&str, &slub_min_order); Index: linux/include/linux/slab.h =================================================================== --- linux.orig/include/linux/slab.h 2012-11-01 10:10:39.866293513 -0500 +++ linux/include/linux/slab.h 2012-11-01 10:10:42.826342537 -0500 @@ -199,6 +199,11 @@ struct kmem_cache { #define KMALLOC_MIN_SIZE (1 << KMALLOC_SHIFT_LOW) #endif +extern struct kmem_cache *kmalloc_caches[KMALLOC_SHIFT_HIGH + 1]; +#ifdef CONFIG_ZONE_DMA +extern struct kmem_cache *kmalloc_dma_caches[KMALLOC_SHIFT_HIGH + 1]; +#endif + /* * Figure out which kmalloc slab an allocation of a certain size * belongs to. Index: linux/mm/slab.c =================================================================== --- linux.orig/mm/slab.c 2012-11-01 10:10:36.938245015 -0500 +++ linux/mm/slab.c 2012-11-01 10:10:42.826342537 -0500 @@ -317,14 +317,6 @@ static void free_block(struct kmem_cache static int enable_cpucache(struct kmem_cache *cachep, gfp_t gfp); static void cache_reap(struct work_struct *unused); -struct kmem_cache *kmalloc_caches[KMALLOC_SHIFT_HIGH + 1]; -EXPORT_SYMBOL(kmalloc_caches); - -#ifdef CONFIG_ZONE_DMA -struct kmem_cache *kmalloc_dma_caches[KMALLOC_SHIFT_HIGH + 1]; -EXPORT_SYMBOL(kmalloc_dma_caches); -#endif - static int slab_early_init = 1; #define INDEX_AC kmalloc_index(sizeof(struct arraycache_init)) Index: linux/include/linux/slab_def.h =================================================================== --- linux.orig/include/linux/slab_def.h 2012-11-01 10:10:36.938245015 -0500 +++ linux/include/linux/slab_def.h 2012-11-01 10:10:42.826342537 -0500 @@ -95,9 +95,6 @@ struct kmem_cache { */ }; -extern struct kmem_cache *kmalloc_caches[PAGE_SHIFT + MAX_ORDER]; -extern struct kmem_cache *kmalloc_dma_caches[PAGE_SHIFT + MAX_ORDER]; - void *kmem_cache_alloc(struct kmem_cache *, gfp_t); void *__kmalloc(size_t size, gfp_t flags); -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org