diff options
| author | Christoph Hellwig <hch@lst.de> | 2026-03-23 08:50:51 +0100 |
|---|---|---|
| committer | Carlos Maiolino <cem@kernel.org> | 2026-03-30 16:34:05 +0200 |
| commit | 67fe4303972eb6f911f62e2fe6ac7628b17d95c0 (patch) | |
| tree | 513a0bb5b161aded96df5e41eed156c42392057c /tools/perf/scripts/python/stackcollapse.py | |
| parent | 025b245f0bc193c81679201b95940e96f8e42133 (diff) | |
xfs: don't keep a reference for buffers on the LRU
Currently the buffer cache adds a reference to b_hold for buffers that
are on the LRU. This seems to go all the way back and allows releasing
buffers from the LRU using xfs_buf_rele. But it makes xfs_buf_rele
really complicated in differs from how other LRUs are implemented in
Linux.
Switch to not having a reference for buffers in the LRU, and use a
separate negative hold value to mark buffers as dead. This simplifies
xfs_buf_rele, which now just deal with the last "real" reference,
and prepares for using the lockref primitive.
This also removes the b_lock protection for removing buffers from the
buffer hash. This is the desired outcome because the rhashtable is
fully internally synchronized, and previously the lock was mostly
held out of ordering constrains in xfs_buf_rele_cached.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
