Page MenuHomeFreeBSD

Fix VOP_PUTPAGES(9) in regards to the use of VM_PAGER_CLUSTER_OK
ClosedPublic

Authored by khng on Jun 19 2019, 8:04 AM.
Tags
None
Referenced Files
F153344086: D20695.diff
Mon, Apr 20, 2:42 PM
F153299923: D20695.diff
Mon, Apr 20, 8:18 AM
Unknown Object (File)
Thu, Apr 16, 10:45 AM
Unknown Object (File)
Tue, Apr 14, 11:41 AM
Unknown Object (File)
Sun, Apr 5, 2:53 PM
Unknown Object (File)
Sun, Apr 5, 1:10 AM
Unknown Object (File)
Sat, Apr 4, 5:27 PM
Unknown Object (File)
Tue, Mar 31, 12:59 PM
Subscribers

Details

Summary

By reading the implementation of vnode_pager_putpages_ioflags() and
vnode_pager_generic_putpages(), if VM_PAGER_CLUSTER_OK is not set write
may be performed asynchronously.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 25102
Build 23804: arc lint + arc unit

Event Timeline

Doing asynchronous writes prevents clustering. The correct fix is to say:

If
.Dv VM_PAGER_CLUSTER_OK
is set, writes may be delayed so that related writes
can be coalesced for efficiency, e.g.,
This revision now requires changes to proceed.Jun 27 2019, 9:09 PM
  • Updated according to @mckusick 's suggestion
This revision is now accepted and ready to land.Jun 29 2019, 2:49 AM

I'll take care of this and also bump the .Dd field.