You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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]>
0 commit comments