Page MenuHomeFreeBSD

Reduce the scope of the object lock in fault.
ClosedPublic

Authored by jeff on Oct 15 2019, 4:01 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Mar 29, 6:30 AM
Unknown Object (File)
Dec 20 2023, 6:24 AM
Unknown Object (File)
Nov 21 2023, 10:18 AM
Unknown Object (File)
Sep 3 2023, 1:26 AM
Unknown Object (File)
Sep 3 2023, 1:25 AM
Unknown Object (File)
Sep 3 2023, 1:25 AM
Unknown Object (File)
Sep 1 2023, 12:50 AM
Unknown Object (File)
Aug 28 2023, 5:00 AM
Subscribers

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

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jeff added reviewers: kib, markj, alc.

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 ↗(On Diff #63284)

Presumably this unlock can also be moved up?

This revision is now accepted and ready to land.Oct 15 2019, 2:42 PM
kib added inline comments.
sys/vm/vm_fault.c
185 ↗(On Diff #63284)

I would suggest faultstate_deallocate.