diff options
author | Filipe Manana <fdmanana@suse.com> | 2025-02-13 17:08:44 +0000 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2025-03-18 20:35:46 +0100 |
commit | fc746acb7aa9aeaa2cb5dcba449323319ba5c8eb (patch) | |
tree | 56395fa3c60739b057e36722b09ba4861a541b00 /tools/perf/scripts/python | |
parent | d7d56ccf100adb140c5655c624fedf7545d569e0 (diff) |
btrfs: send: keep the current inode's path cached
Whenever we need to send a command for the current inode, like sending
writes, xattr updates, truncates, utimes, etc, we compute the inode's
path each time, which implies doing some memory allocations and traversing
the inode hierarchy to extract the name of the inode and each ancestor
directory, and that implies doing lookups in the subvolume tree amongst
other operations.
Most of the time, by far, the current inode's path doesn't change while
we are processing it (like if we need to issue 100 write commands, the
path remains the same and it's pointless to compute it 100 times).
To avoid this keep the current inode's path cached in the send context
and invalidate it or update it whenever it's needed (after unlinks or
renames).
A performance test, and its results, is mentioned in the next patch in
the series (subject: "btrfs: send: avoid path allocation for the current
inode when issuing commands").
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions