Page MenuHomeFreeBSD

Reduce the scope of the object lock in fault.
ClosedPublic

Authored by jeff on Oct 15 2019, 4:01 AM.

Details

Summary

This avoids reacquiring the object lock after fault is complete because we can now unbusy and pip wakeup without it.

It also releases the lock earlier in CoW and avoids an expensive copy while the object lock is held.

Diff Detail

Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 27038
Build 25327: arc lint + arc unit

Event Timeline

jeff created this revision.Oct 15 2019, 4:01 AM
jeff edited the summary of this revision. (Show Details)Oct 15 2019, 4:07 AM
jeff added reviewers: kib, markj, alc.
markj accepted this revision.Oct 15 2019, 2:42 PM

I find the names fault_deallocate() and unlock_and_deallocate() confusing. I don't have a good alternative at the moment though.

sys/vm/vm_fault.c
193

Presumably this unlock can also be moved up?

This revision is now accepted and ready to land.Oct 15 2019, 2:42 PM
kib accepted this revision.Oct 16 2019, 12:38 PM
kib added inline comments.
sys/vm/vm_fault.c
185

I would suggest faultstate_deallocate.