Page MenuHomeFreeBSD

cam iosched: Allow read bias to be 0
ClosedPublic

Authored by imp on Feb 22 2022, 11:43 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 4 2024, 8:10 AM
Unknown Object (File)
Jan 14 2024, 9:01 AM
Unknown Object (File)
Jan 9 2024, 10:57 PM
Unknown Object (File)
Dec 20 2023, 3:31 AM
Unknown Object (File)
Jun 13 2023, 7:07 AM
Unknown Object (File)
Apr 10 2023, 6:56 AM
Unknown Object (File)
Mar 5 2023, 5:31 PM
Unknown Object (File)
Feb 17 2023, 2:34 AM
Subscribers

Details

Reviewers
imp
Group Reviewers
cam
Summary

When read bias is 0, we queue all requests to the same queue. When it's
non-zero, we separate the queues we use so we can bias reads vs writes
for workloads that are read centric. Prior to this change, when read
bias was 0, writes would be unfairly prioritized. These changes restore
the typical bias you get from disksort or ordered insertion at the end
of the list.

Sponsored by: Netflix

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 44544
Build 41432: arc lint + arc unit

Event Timeline

imp requested review of this revision.Feb 22 2022, 11:43 PM

I would characterize this change as: redefine "read_bias==0" from the current meaning of "prefer writes" to instead mean "no read-vs-write bias".
This patch looks correct in implementing that new meaning, though it would be nice if it didn't involve essentially duplicating the code of cam_iosched_get_write() in cam_iosched_next_bio().

closed with cc1572ddeb8cd82879ce0cca634bf6a8830c0f40 with updated wording from @chs but didn't close automatically since i didn't notice git arc stage didn't put a review in.

This revision is now accepted and ready to land.May 1 2022, 5:29 PM