Page MenuHomeFreeBSD

Move the fault busy sleep into its own function.
ClosedPublic

Authored by jeff on Dec 15 2019, 2:49 AM.
Tags
None
Referenced Files
F106898314: D22820.diff
Tue, Jan 7, 3:36 AM
Unknown Object (File)
Wed, Dec 18, 10:59 PM
Unknown Object (File)
Tue, Dec 10, 11:54 AM
Unknown Object (File)
Nov 24 2024, 12:09 PM
Unknown Object (File)
Sep 27 2024, 6:55 AM
Unknown Object (File)
Sep 24 2024, 8:48 AM
Unknown Object (File)
Sep 18 2024, 4:03 AM
Unknown Object (File)
Sep 17 2024, 6:48 AM
Subscribers

Details

Summary

The motivation here is two fold; Eventually I will want to sleep from more than a single place in vm_fault(). Secondly, fault has become a 900 line function that was only comprehensible to me after weeks. I have a series of patches that split the stages off into other functions simply to improve readability and control flow.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 28281
Build 26391: arc lint + arc unit

Event Timeline

jeff added reviewers: alc, kib, markj, dougm.
jeff set the repository for this revision to rS FreeBSD src repository - subversion.
sys/vm/vm_fault.c
686

You might as well reformat the comment blocks so that they fill 79 columns.

Ignoring the KASSERT added, it looks fine.

sys/vm/vm_fault.c
847

Is this supposed to be committed ? And why ?

This revision is now accepted and ready to land.Dec 15 2019, 8:22 PM
sys/vm/vm_fault.c
847

I didn't realize that snuck into this patch. I believe it is impossible. OBJ_DEAD is possible but not OBJT_DEAD. We pip_wait before OBJT_DEAD so it should not be visible.

This branch in aggregate has seen probably a week of stress2 without hitting this assert but I will remove it for a later commit.

Address review feedback. Comment format and extra assert.

This revision now requires review to proceed.Dec 21 2019, 7:41 PM
This revision is now accepted and ready to land.Dec 21 2019, 9:29 PM