slab, slub, slob: convert slab_flags_t to 32-bit
authorAlexey Dobriyan <adobriyan@gmail.com>
Thu, 16 Nov 2017 01:32:21 +0000 (17:32 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 16 Nov 2017 02:21:01 +0000 (18:21 -0800)
commit4fd0b46e898791009b03b2fdd6510044fa8730a6
treeef78168cf70327d341eaf9fd07f25683dc869262
parentd50112edde1d0c621520e53747044009f11c656b
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>
include/linux/slab.h
include/linux/types.h
mm/slab.c
mm/slub.c