slab, slub, slob: convert slab_flags_t to 32-bit
struct kmem_cache::flags is "unsigned long" which is unnecessary on 64-bit as no flags are defined in the higher bits. Switch the field to 32-bit and save some space on x86_64 until such flags appear: add/remove: 0/0 grow/shrink: 0/107 up/down: 0/-657 (-657) function old new delta sysfs_slab_add 720 719 -1 ... check_object 699 676 -23 [akpm@linux-foundation.org: fix printk warning] Link: http://lkml.kernel.org/r/20171021100635.GA8287@avx2 Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Pekka Enberg <penberg@kernel.org> Cc: Christoph Lameter <cl@linux.com> Cc: David Rientjes <rientjes@google.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
d50112edde
commit
4fd0b46e89
@@ -252,8 +252,8 @@ static void kmem_cache_node_init(struct kmem_cache_node *parent)
|
||||
MAKE_LIST((cachep), (&(ptr)->slabs_free), slabs_free, nodeid); \
|
||||
} while (0)
|
||||
|
||||
#define CFLGS_OBJFREELIST_SLAB ((slab_flags_t __force)0x40000000UL)
|
||||
#define CFLGS_OFF_SLAB ((slab_flags_t __force)0x80000000UL)
|
||||
#define CFLGS_OBJFREELIST_SLAB ((slab_flags_t __force)0x40000000U)
|
||||
#define CFLGS_OFF_SLAB ((slab_flags_t __force)0x80000000U)
|
||||
#define OBJFREELIST_SLAB(x) ((x)->flags & CFLGS_OBJFREELIST_SLAB)
|
||||
#define OFF_SLAB(x) ((x)->flags & CFLGS_OFF_SLAB)
|
||||
|
||||
|
Reference in New Issue
Block a user