BACKPORT: Security: smack: replace kzalloc with kmem_cache for inode_smack
authorRohit <rohit.kr@samsung.com>
Wed, 15 Oct 2014 12:10:41 +0000 (17:40 +0530)
committerRafal Krypa <r.krypa@samsung.com>
Thu, 30 Jun 2016 12:57:41 +0000 (14:57 +0200)
commiteb0d7db3856089a82704a2a35135764cad103a96
treea5e2756b49b6a6b31b354aaf05fbdfa7f5115eef
parentcb2d9ebbd379d0e7eb86fd5047f09133767b2830
BACKPORT: Security: smack: replace kzalloc with kmem_cache for inode_smack

The patch use kmem_cache to allocate/free inode_smack since they are
alloced in high volumes making it a perfect case for kmem_cache.

As per analysis, 24 bytes of memory is wasted per allocation due
to internal fragmentation. With kmem_cache, this can be avoided.

Accounting of memory allocation is below :
 total       slack            net      count-alloc/free        caller
Before (with kzalloc)
1919872      719952          1919872      29998/0          new_inode_smack+0x14

After (with kmem_cache)
1201680          0           1201680      30042/0          new_inode_smack+0x18

>From above data, we found that 719952 bytes(~700 KB) of memory is
saved on allocation of 29998 smack inodes.

Signed-off-by: Rohit <rohit.kr@samsung.com>
(cherry-picked from upstream 1a5b472bde752783e0a31b59c61c9ff5b37a0983)
security/smack/smack_lsm.c