Re: [PATCH v2] kernfs: Allocating memory for kernfs_iattrs with kmem_cache.

From: Tejun Heo
Date: Wed Feb 06 2019 - 11:36:00 EST


On Wed, Feb 06, 2019 at 10:25:42AM +0530, Ayush Mittal wrote:
> 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: Ayush Mittal <ayush.m@xxxxxxxxxxx>
> Signed-off-by: Vaneet Narang <v.narang@xxxxxxxxxxx>

Acked-by: Tejun Heo <tj@xxxxxxxxxx>

Thanks.

--
tejun