summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruenba@redhat.com>2026-08-30 16:36:37 +0200
committerAndreas Gruenbacher <agruenba@redhat.com>2026-09-11 15:08:23 +0200
commita098f26d3b80e99740ea155a7012008d12a46010 (patch)
tree91dbb6d09d4446ed67708d168ed165fa0a066ca8 /tools/lib/python
parent33ed0a0567e0abe66ea65e89dad2e35082890fbe (diff)
downloadlinux-next-a098f26d3b80e99740ea155a7012008d12a46010.tar.gz
linux-next-a098f26d3b80e99740ea155a7012008d12a46010.zip
gfs2: Get rid of sd_async_glock_wait
Get rid of the per-superblock wait queue for asynchronous locking requests. Instead, wait for the specific events we are interested in. Use multiple wait queue entries when waiting for multiple events at once. Without this patch, the per-superblock wait queue for asynchronous locking requests can become a bottleneck when many inodes are deleted remotely: in that case, we schedule delayed work with gfs2_queue_verify_delete(). When that work later runs, we end up in delete_work_func() -> iput() -> gfs2_evict_inode() -> gfs2_upgrade_iopen_glock(), which uses asynchronous locking. Each completing locking asynchronous request will wake up sdp->sd_async_glock_wait, and all the waiters will compete with each other and waste resources. Avoid that by eliminating the per-superblock wait queue. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions