diff options
| author | Mateusz Guzik <[email protected]> | 2024-11-20 11:20:34 +0000 |
|---|---|---|
| committer | Christian Brauner <[email protected]> | 2024-12-22 10:29:50 +0000 |
| commit | ea382199071931d19aac5f688b543e07360e2b64 (patch) | |
| tree | 375c9ad796a10c2e2abd39b3a766196f354a050b /fs/proc/array.c | |
| parent | fiemap: use kernel-doc includes in fiemap docbook (diff) | |
| download | kernel-ea382199071931d19aac5f688b543e07360e2b64.tar.gz kernel-ea382199071931d19aac5f688b543e07360e2b64.zip | |
vfs: support caching symlink lengths in inodes
When utilized it dodges strlen() in vfs_readlink(), giving about 1.5%
speed up when issuing readlink on /initrd.img on ext4.
Filesystems opt in by calling inode_set_cached_link() when creating an
inode.
The size is stored in a new union utilizing the same space as i_devices,
thus avoiding growing the struct or taking up any more space.
Churn-wise the current readlink_copy() helper is patched to accept the
size instead of calculating it.
Signed-off-by: Mateusz Guzik <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Christian Brauner <[email protected]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions
