diff options
| author | Filipe Manana <fdmanana@suse.com> | 2025-06-02 13:46:23 +0100 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2025-07-21 23:53:30 +0200 |
| commit | 2697b6159744e5afae0f7715da9f830ba6f9e45a (patch) | |
| tree | e8f38fb2dbcbc2a0bd38ce2b7fb0f44cdab04c3d | |
| parent | 71c086b30d4373a01bd5627f54516a72891a026a (diff) | |
btrfs: add comment for optimization in free_extent_buffer()
There's this special atomic compare and exchange logic which serves to
avoid locking the extent buffers refs_lock spinlock and therefore reduce
lock contention, so add a comment to make it more obvious.
Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
| -rw-r--r-- | fs/btrfs/extent_io.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 21d2cb7f538e..5e8dd9a99e58 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -3493,6 +3493,7 @@ void free_extent_buffer(struct extent_buffer *eb) break; } + /* Optimization to avoid locking eb->refs_lock. */ if (atomic_try_cmpxchg(&eb->refs, &refs, refs - 1)) return; } |
