Page MenuHomeFreeBSD

vm_page: reset iterator after domainset drops lock
ClosedPublic

Authored by dougm on Sat, May 17, 8:37 AM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, May 28, 8:26 AM
Unknown Object (File)
Tue, May 27, 12:16 PM
Unknown Object (File)
Sun, May 18, 6:15 PM
Unknown Object (File)
Sat, May 17, 7:58 PM
Subscribers

Details

Summary

Restore the WAITFAIL check on resetting the iterator in vm_page_alloc_domain_iter. Modify vm_domainset_iter_page_init and vm_domainset_iter_page so that they can take an iterator argument and reset the iterator if vm_domainset_iter_releases and reacquires the object lock.

Test Plan

I repeated the graid1_6.sh stress test several times without failure. Without the ability to reset the iterator in vm_page_alloc_iter, this test fails.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

dougm requested review of this revision.Sat, May 17, 8:37 AM
dougm created this revision.

Rather than passing a flag around, can we pass the pctrie iterator to the domainset routines and have them reset the iterator when appropriate?

dougm edited the summary of this revision. (Show Details)
This revision is now accepted and ready to land.Sat, May 17, 6:08 PM

I have been running tests with D50392.155617.patch for 13 hours without seeing any issues