]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
cohort_lru: crash fix and reduce lock contention
authorMatt Benjamin <mbenjamin@redhat.com>
Tue, 25 Nov 2025 17:41:37 +0000 (12:41 -0500)
committerMatt Benjamin <mbenjamin@redhat.com>
Tue, 24 Feb 2026 18:25:06 +0000 (13:25 -0500)
commit9b05545f353d8734b30226b8528fec236b82e511
tree317ae14278d1a296602f465a618369f9aca30572
parente6eec7683022e6824acc16f4c26421a3804e27e6
cohort_lru: crash fix and reduce lock contention

Fixes crash induced by taking the address of the last element
of an empty intrusive list (!).

Also, introduces active queue, reducing potential for lock
contention in evict_block():

* entries are tracked on lane::active_queue when lru_refcnt > 1
** on some lane::q otherwise

Object transition between queues when lru_refcnt changes value--
a value of 0 triggers deletion, as before.

Fixes: https://tracker.ceph.com/issues/73992
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/common/cohort_lru.h
src/rgw/rgw_file.cc
src/rgw/rgw_file_int.h