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.
Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/vm/vm_fault.c | ||
---|---|---|
707 ↗ | (On Diff #65674) | You might as well reformat the comment blocks so that they fill 79 columns. |
Comment Actions
Ignoring the KASSERT added, it looks fine.
sys/vm/vm_fault.c | ||
---|---|---|
871 ↗ | (On Diff #65674) | Is this supposed to be committed ? And why ? |
sys/vm/vm_fault.c | ||
---|---|---|
871 ↗ | (On Diff #65674) | 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. |