aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/slab.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/slab.h')
-rw-r--r--include/linux/slab.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/slab.h b/include/linux/slab.h
index 3dd389aa91c7..307bfbe62387 100644
--- a/include/linux/slab.h
+++ b/include/linux/slab.h
@@ -242,6 +242,17 @@ struct kmem_cache {
242#define KMALLOC_MIN_SIZE (1 << KMALLOC_SHIFT_LOW) 242#define KMALLOC_MIN_SIZE (1 << KMALLOC_SHIFT_LOW)
243#endif 243#endif
244 244
245/*
246 * This restriction comes from byte sized index implementation.
247 * Page size is normally 2^12 bytes and, in this case, if we want to use
248 * byte sized index which can represent 2^8 entries, the size of the object
249 * should be equal or greater to 2^12 / 2^8 = 2^4 = 16.
250 * If minimum size of kmalloc is less than 16, we use it as minimum object
251 * size and give up to use byte sized index.
252 */
253#define SLAB_OBJ_MIN_SIZE (KMALLOC_MIN_SIZE < 16 ? \
254 (KMALLOC_MIN_SIZE) : 16)
255
245#ifndef CONFIG_SLOB 256#ifndef CONFIG_SLOB
246extern struct kmem_cache *kmalloc_caches[KMALLOC_SHIFT_HIGH + 1]; 257extern struct kmem_cache *kmalloc_caches[KMALLOC_SHIFT_HIGH + 1];
247#ifdef CONFIG_ZONE_DMA 258#ifdef CONFIG_ZONE_DMA