Page MenuHomeFreeBSD

Remove unnecessary object locking from the vnode pager.
ClosedPublic

Authored by jeff on Oct 30 2019, 2:39 AM.
Tags
None
Referenced Files
F154716963: D22186.id64595.diff
Wed, Apr 29, 7:23 AM
F154713357: D22186.id64595.diff
Wed, Apr 29, 7:14 AM
F154518223: D22186.id63781.diff
Tue, Apr 28, 7:43 PM
F154516004: D22186.id63781.diff
Tue, Apr 28, 7:32 PM
Unknown Object (File)
Mon, Apr 20, 3:04 PM
Unknown Object (File)
Sun, Apr 19, 4:45 PM
Unknown Object (File)
Sun, Apr 19, 10:03 AM
Unknown Object (File)
Sun, Apr 19, 6:49 AM
Subscribers

Details

Summary

This is more lock pushdown as a result of the busy/valid/dirty changes.

Test Plan

pho

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 27593
Build 25810: arc lint + arc unit

Event Timeline

jeff edited the test plan for this revision. (Show Details)
jeff added reviewers: kib, alc, markj, dougm.
sys/vm/vnode_pager.c
1153

So the consistency of the operation against vnp_size is now depends on the vnode lock, right ? Note that ZFS still calls vnode_pager_setsize() with the vnode unlocked (I fixed this for NFS recently).

sys/vm/vnode_pager.c
1153

You are right. I left read locking around it elsewhere. I can restore that.

Readd a missing lock around the vnode size.

This revision is now accepted and ready to land.Nov 18 2019, 4:15 PM