• Ayush Mittal's avatar
    kernfs: Allocating memory for kernfs_iattrs with kmem_cache. · 26e28d68
    Ayush Mittal authored
    Creating a new cache for kernfs_iattrs.
    Currently, memory is allocated with kzalloc() which
    always gives aligned memory. On ARM, this is 64 byte aligned.
    To avoid the wastage of memory in aligning the size requested,
    a new cache for kernfs_iattrs is created.
    
    Size of struct kernfs_iattrs is 80 Bytes.
    On ARM, it will come in kmalloc-128 slab.
    and it will come in kmalloc-192 slab if debug info is enabled.
    Extra bytes taken 48 bytes.
    
    Total number of objects created : 4096
    Total saving = 48*4096 = 192 KB
    
    After creating new slab(When debug info is enabled) :
    sh-3.2# cat /proc/slabinfo
    ...
    kernfs_iattrs_cache   4069   4096    128   32    1 : tunables    0    0    0 : slabdata    128    128      0
    ...
    
    All testing has been done on ARM target.
    Signed-off-by: default avatarAyush Mittal <ayush.m@samsung.com>
    Signed-off-by: default avatarVaneet Narang <v.narang@samsung.com>
    Acked-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    26e28d68
inode.c 9.2 KB