Page MenuHomeFreeBSD

vm: don't use iterators for page allocation
Needs ReviewPublic

Authored by dougm on Jul 10 2025, 9:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Sep 24, 2:38 PM
Unknown Object (File)
Thu, Sep 18, 4:57 AM
Unknown Object (File)
Thu, Sep 18, 2:22 AM
Unknown Object (File)
Wed, Sep 17, 2:18 PM
Unknown Object (File)
Sep 12 2025, 9:39 PM
Unknown Object (File)
Sep 12 2025, 9:50 AM
Unknown Object (File)
Sep 4 2025, 5:03 PM
Unknown Object (File)
Sep 4 2025, 1:54 PM

Details

Reviewers
alc
Test Plan

After applying D51058, D51060 and this change, I measured the number of calls and cycles for three vm_page functions (grab_valid, grab, alloc) on 8 consecutive build-world tests. grab_valid is not invoked after the first iteration, but I left those lines there anyway.

Original					Modified
	    calls	cycles/call			    calls	cycles/call       
grab_valid: 27		13252760.037037037	grab_valid: 26		5259784.807692308 
grab:	    1203	445.81463009143806	grab:	    1241	300.23368251410153
alloc:	    389816350	1657.3326783163404	alloc:	    389826513	1652.4279825779834
grab_valid: 0					grab_valid: 0                             
grab:	    53		739.3018867924528	grab:	    20		904.65            
alloc:	    389532365	1661.762829119475	alloc:	    389536833	1644.4145083065869
grab_valid: 0					grab_valid: 0                             
grab:	    31		999.0			grab:	    15		1255.5333333333333
alloc:	    389526969	1669.22342209892	alloc:	    389529817	1646.8923696873248
grab_valid: 0					grab_valid: 0                             
grab:	    15		1100.1333333333334	grab:	    14		1324.0714285714287
alloc:	    389527565	1653.6664403737384	alloc:	    389539089	1670.2566697510554
grab_valid: 0					grab_valid: 0                             
grab:	    19		979.5263157894736	grab:	    17		1591.0            
alloc:	    389526305	1659.5234530771934	alloc:	    389519876	1659.1946076276733
grab_valid: 0					grab_valid: 0                             
grab:	    13		1175.4615384615386	grab:	    14		1189.2857142857142
alloc:	    389524203	1668.6815675173848	alloc:	    389483750	1646.5596180841949
grab_valid: 0					grab_valid: 0                             
grab:	    13		1309.2307692307693	grab:	    7		946.1428571428571 
alloc:	    389519500	1658.3565928380992	alloc:	    389514905	1652.1173502230936
grab_valid: 0					grab_valid: 0                             
grab:	    13		1018.9230769230769	grab:	    11		1268.090909090909 
alloc:	    389521837	1672.9132200847573	alloc:	    389514925	1644.798824612433

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped