From 90810645f78f894acfb04b3768e8a7d45f2b303a Mon Sep 17 00:00:00 2001 From: Christoph Lameter Date: Thu, 23 Jun 2011 09:36:12 -0500 Subject: [PATCH] slab allocators: Provide generic description of alignment defines Provide description for alignment defines. Acked-by: David Rientjes Signed-off-by: Christoph Lameter Signed-off-by: Pekka Enberg --- include/linux/slab.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/linux/slab.h b/include/linux/slab.h index 646a639a4aae..573c809c33d9 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -133,12 +133,22 @@ unsigned int kmem_cache_size(struct kmem_cache *); #define KMALLOC_MAX_SIZE (1UL << KMALLOC_SHIFT_HIGH) #define KMALLOC_MAX_ORDER (KMALLOC_SHIFT_HIGH - PAGE_SHIFT) +/* + * Some archs want to perform DMA into kmalloc caches and need a guaranteed + * alignment larger than the alignment of a 64-bit integer. + * Setting ARCH_KMALLOC_MINALIGN in arch headers allows that. + */ #ifdef ARCH_DMA_MINALIGN #define ARCH_KMALLOC_MINALIGN ARCH_DMA_MINALIGN #else #define ARCH_KMALLOC_MINALIGN __alignof__(unsigned long long) #endif +/* + * Setting ARCH_SLAB_MINALIGN in arch headers allows a different alignment. + * Intended for arches that get misalignment faults even for 64 bit integer + * aligned buffers. + */ #ifndef ARCH_SLAB_MINALIGN #define ARCH_SLAB_MINALIGN __alignof__(unsigned long long) #endif