diff options
author | Christian Brauner <brauner@kernel.org> | 2024-11-21 13:15:21 +0300 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2024-12-22 13:29:51 +0300 |
commit | 84208b8fa3b7e73d1cc08efe7eaf527e28d8b951 (patch) | |
tree | af32d4014c1fea1d3f26d0421bbb89041ab6f675 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | 135ec43eb29c68ed26e2d10f221d43f7d9139a8f (diff) | |
parent | 657e726e0cb9ba4f583ae7d226100bc43cc43a41 (diff) | |
download | linux-84208b8fa3b7e73d1cc08efe7eaf527e28d8b951.tar.xz |
Merge patch series "symlink length caching"
Mateusz Guzik <mjguzik@gmail.com> 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/20241120112037.822078-1-mjguzik@gmail.com:
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/20241120112037.822078-1-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions