]> git.baikalelectronics.ru Git - kernel.git/commit
vfs: move inode stat information closer together
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 3 Jun 2012 21:50:19 +0000 (14:50 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 3 Jun 2012 21:50:19 +0000 (14:50 -0700)
commit2afa7f1e10209a90943ab89a6d2b6e62da77d676
treef5cb17f1db0e8308eae0c7271c1d2dc86851c95d
parentb7dc9622e4c3808ef905a72fda997b5fc0c6f7d2
vfs: move inode stat information closer together

The comment above it says "Stat data, not accessed from path walking",
but in fact some of inode fields we use for the common stat data was way
down at the end of the inode, causing unnecessary cache misses for the
common stat operations.

The inode structure is pretty big, and this can change padding depending
on field width, but at least on the common 64-bit configurations this
doesn't change the size.  Some of our inode layout has historically been
to tro to avoid unnecessary padding fields, but cache locality is at
least as important for layout, if not more.

Noticed by looking at kernel profiles, and noticing that the "i_blkbits"
access stood out like a sore thumb.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/linux/fs.h