diff options
Diffstat (limited to 'include/linux/slab.h')
-rw-r--r-- | include/linux/slab.h | 11 |
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 |
246 | extern struct kmem_cache *kmalloc_caches[KMALLOC_SHIFT_HIGH + 1]; | 257 | extern struct kmem_cache *kmalloc_caches[KMALLOC_SHIFT_HIGH + 1]; |
247 | #ifdef CONFIG_ZONE_DMA | 258 | #ifdef CONFIG_ZONE_DMA |