]> git.itanic.dy.fi Git - linux-stable/commit
ext4: avoid fetching btime in ext4_getattr() unless requested
authorTheodore Ts'o <tytso@mit.edu>
Fri, 29 Nov 2019 03:26:51 +0000 (22:26 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 17 Jan 2020 21:24:25 +0000 (16:24 -0500)
commitd4c5e960bf202d99ec9a6922ad387eafb798b848
treeee055127be4ebb1c9eccf1cee15185327255d6d2
parent8cd115bdda17751ee2adab614a80df72228b3809
ext4: avoid fetching btime in ext4_getattr() unless requested

Linus observed that an allmodconfig build which does a lot of stat(2)
calls that ext4_getattr() was a noticeable (1%) amount of CPU time,
due to the cache line for i_extra_isize getting pulled in.  Since the
normal stat system call doesn't return btime, it's a complete waste.
So only calculate btime when it is explicitly requested.

[ Fixed to check against request_mask instead of query_flags. ]

Link: https://lore.kernel.org/r/CAHk-=wivmk_j6KbTX+Er64mLrG8abXZo0M10PNdAnHc8fWXfsQ@mail.gmail.com
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c