Page MenuHomeFreeBSD

Move the backing_object chain traversal into its own function.
ClosedPublic

Authored by jeff on Jan 22 2020, 2:59 AM.

Details

Summary

This should be functionally identical. In a later diff I collapse the two calls to vm_object_next() into one.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jeff created this revision.Jan 22 2020, 2:59 AM
jeff edited the summary of this revision. (Show Details)Jan 22 2020, 3:02 AM
jeff added reviewers: alc, dougm, kib, markj.
jeff set the repository for this revision to rS FreeBSD src repository.
jeff added inline comments.Jan 22 2020, 3:11 AM
sys/vm/vm_fault.c
964 ↗(On Diff #67130)

In retrospect it might end up making the locking more clear if I split the zero fill off. I would like to do that in a subsequent patch.

dougm added inline comments.Jan 22 2020, 5:00 AM
sys/vm/vm_fault.c
1193 ↗(On Diff #67130)

I perceive that the point of the next label before this change and the new function introduced in its stead is all to avoid wrapping lines 1267-1379 in a giant if (fs.object->type != OBJT_DEFAULT) {} block, with associated indentation, and all the line wrapping that would lead to. It seems that a function to wrap all that code would solve the same problem in a more direct way.

jeff added inline comments.Jan 22 2020, 5:02 AM
sys/vm/vm_fault.c
1193 ↗(On Diff #67130)

Yes definitely. a couple of diffs after this resolve this more cleanly. I just didn't want to post it all at once for fear of burning people out. I wanted to move the large blocks out whole before too much restructuring.

dougm accepted this revision.Jan 22 2020, 5:04 AM

It seems harmless.

This revision is now accepted and ready to land.Jan 22 2020, 5:04 AM
kib accepted this revision.Jan 22 2020, 1:23 PM
markj accepted this revision.Wed, Jan 22, 8:37 PM