Page MenuHomeFreeBSD

getblk: avoid bufobj interlock when waiting on buf lock
Needs ReviewPublic

Authored by rlibby on Jun 17 2024, 9:16 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 8, 1:43 PM
Unknown Object (File)
Oct 17 2024, 12:48 PM
Unknown Object (File)
Sep 28 2024, 6:27 AM
Unknown Object (File)
Sep 22 2024, 6:17 PM
Unknown Object (File)
Sep 13 2024, 3:39 AM
Unknown Object (File)
Sep 8 2024, 10:30 AM
Unknown Object (File)
Sep 7 2024, 4:46 PM
Unknown Object (File)
Aug 26 2024, 10:35 PM
Subscribers

Details

Summary

Convert buf's b_lock to a lock_sleepgen so that in getblk we can avoid
the bufobj interlock when we have to sleep to acquire a buf lock.


Again, work-in-progress. Looking for objections or early feedback.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 58210
Build 55098: arc lint + arc unit

Event Timeline

rlibby added reviewers: kib, markj, mckusick, mjg.
sys/sys/buf.h
321

Sorry to be slow to comment. Like D45624, this change looks functionally correct. Again, the main issue for me is to understand what sort of workload it helps. Do you have an example benchmark whose performance is improved with this change?