diff options
| author | Christian Brauner <[email protected]> | 2024-11-21 10:15:21 +0000 |
|---|---|---|
| committer | Christian Brauner <[email protected]> | 2024-12-22 10:29:51 +0000 |
| commit | 84208b8fa3b7e73d1cc08efe7eaf527e28d8b951 (patch) | |
| tree | af32d4014c1fea1d3f26d0421bbb89041ab6f675 /fs/proc/array.c | |
| parent | fiemap: use kernel-doc includes in fiemap docbook (diff) | |
| parent | tmpfs: use inode_set_cached_link() (diff) | |
| download | kernel-84208b8fa3b7e73d1cc08efe7eaf527e28d8b951.tar.gz kernel-84208b8fa3b7e73d1cc08efe7eaf527e28d8b951.zip | |
Merge patch series "symlink length caching"
Mateusz Guzik <[email protected]> says:
quote:
When utilized it dodges strlen() in vfs_readlink(), giving about 1.5%
speed up when issuing readlink on /initrd.img on ext4.
The size is stored in a union with i_devices, which is never looked at
unless the inode is for a device.
ext4 and tmpfs are patched, other filesystems can also get there with
some more work.
benchmark:
plug into will-it-scale into tests/readlink1.c:
char *testcase_description = "readlink /initrd.img";
void testcase(unsigned long long *iterations, unsigned long nr)
{
char *tmplink = "/initrd.img";
char buf[1024];
while (1) {
int error = readlink(tmplink, buf, sizeof(buf));
assert(error > 0);
(*iterations)++;
}
}
* patches from https://lore.kernel.org/r/[email protected]:
tmpfs: use inode_set_cached_link()
ext4: use inode_set_cached_link()
vfs: support caching symlink lengths in inodes
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
