Comment 4 for bug 1244627

Revision history for this message
Colin Ian King (colin-king) wrote :

So enabling this consumes an extra sizeof(atomic_t) bytes per inode. Instrumenting the kernel with it enabled we see:

* To boot a system:

0.113 MB allocated + 23 x 4K slabs in iint_cache, total: 0.203 MB
consumed for ~1288 cached file entries.

* Install kernel + headers:

0.401 MB allocated + 37 x 4K slabs in iint_cache, total: 0.547 MB
consumed for ~2072 cached file entries

* Build a kernel (as root, stress test):

12.945MB allocated + 1023 x 4K slabs in iint_cache, total: 16.941 MB
consumed for ~57344 cached file entries.

So, typically we are seeing ~310 bytes per cached IMA file entry
consumed in the iint_cache slab and misc IMA file metadata.

Looking at the file system benchmarks, IMA built in but not enabled does
impact ext2, ext3 performance, but other file systems seem to run w/o
any impact. I may re-test the ext2/ext3 and also look at why we are
seeing the impact on ext2, ext3 if we enabled IMA.

File system performance impact on IOZONE tests with IMA appraise enabled:

http://kernel.ubuntu.com/~cking/ima/ima-appraise/html_out_ima_ext2
http://kernel.ubuntu.com/~cking/ima/ima-appraise/html_out_ima_ext3
http://kernel.ubuntu.com/~cking/ima/ima-appraise/html_out_ima_ext4
http://kernel.ubuntu.com/~cking/ima/ima-appraise/html_out_ima_xfs
http://kernel.ubuntu.com/~cking/ima/ima-appraise/html_out_ima_btrfs