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
F131859793: D20695.diff
Sat, Oct 11, 6:36 PM
F131854097: D20695.diff
Sat, Oct 11, 5:36 PM
Unknown Object (File)
Mon, Sep 29, 7:33 AM
Unknown Object (File)
Thu, Sep 25, 6:00 PM
Unknown Object (File)
Sat, Sep 20, 4:27 AM
Unknown Object (File)
Sep 2 2025, 1:57 PM
Unknown Object (File)
Aug 26 2025, 2:50 AM
Unknown Object (File)
Aug 23 2025, 3:26 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 24931
Build 23656: 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.