diff options
| author | Andreas Gruenbacher <agruenba@redhat.com> | 2024-05-07 13:48:59 +0200 |
|---|---|---|
| committer | Andreas Gruenbacher <agruenba@redhat.com> | 2026-07-19 15:19:16 +0200 |
| commit | 864174f976474bfa7b787ec654733febe3b03f84 (patch) | |
| tree | e4801dbd34d79ce222fa0d30121b12ea512e317f /tools/tracing/rtla/tests/scripts/lib/git@git.tavy.me:linux.git | |
| parent | 4b0d18b5542247139fa1a541a19f2ff8705cd75a (diff) | |
gfs2: Don't cache unreferenced glocks
Currently, gfs2 caches unreferenced glocks until memory pressure sets in or the
filesystem is unmounted. This was supposedly done to avoid excessive log
flushing: when a glock still has outstanding revokes, freeing it requires an
extra log flush, and we want to avoid too many of those extra log flushes.
Since commit 9287c6452d2b1 ("gfs2: Fix occasional glock use-after-free"),
outstanding revokes are accounted for in the glock reference count and glocks
with outstanding revokes will never be freed anymore, so this is no longer an
issue.
This also means that we won't need a glock LRU list anymore, but we leave
removing that list to a later patch for better readability.
It might seem that glocks that are not referenced anymore can be dropped
immediately without unlocking them first, but that isn't true for inode glocks
that have an address space attached (the "gfs2_glock(aspace)" slab cache): that
address space is only truncated when the associated glock is unlocked. So
unlock those glocks when they become unreferenced.
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'tools/tracing/rtla/tests/scripts/lib/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions
