Page MenuHomeFreeBSD

vm_page: remove iter before iter {free, remove}
Needs ReviewPublic

Authored by dougm on Dec 2 2024, 7:15 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Jan 17, 9:12 PM
Unknown Object (File)
Fri, Jan 17, 9:10 PM
Unknown Object (File)
Wed, Jan 15, 5:27 AM
Unknown Object (File)
Tue, Jan 14, 6:55 AM
Unknown Object (File)
Dec 13 2024, 9:51 PM
Unknown Object (File)
Dec 8 2024, 8:32 PM
Unknown Object (File)
Dec 6 2024, 2:37 AM
Unknown Object (File)
Dec 2 2024, 9:48 AM
Subscribers
None

Details

Reviewers
alc
andrew
Summary

Don't pass the iterator to vm_page_iter_free or vm_page_iter_remove; use the iterator to remove the page from the radix tree before the call.

Test Plan

12 buildworlds, without the change:

56926.258u 1414.460s 1:03:43.22 1525.9% 79529+3176k 169117+35459io 126699pf+0w
56926.163u 1459.822s 1:03:44.42 1526.6% 79495+3175k 107314+35206io 103637pf+0w
57003.895u 1494.898s 1:03:50.84 1527.0% 79465+3174k 107256+34423io 103689pf+0w
57050.784u 1488.262s 1:03:53.74 1526.9% 79454+3175k 107069+34546io 103634pf+0w
56986.955u 1493.558s 1:03:51.75 1526.2% 79466+3173k 141583+34044io 106680pf+0w
57045.281u 1556.313s 1:03:56.76 1527.3% 79405+3173k 107452+34469io 103674pf+0w
57069.019u 1551.323s 1:03:57.12 1527.7% 79403+3174k 107141+33990io 103676pf+0w
57047.529u 1557.353s 1:04:01.33 1525.6% 79396+3174k 107417+34184io 103667pf+0w
57070.067u 1556.377s 1:03:59.07 1527.0% 79398+3173k 106881+34036io 103632pf+0w
56982.716u 1558.045s 1:03:51.25 1527.9% 79413+3172k 107121+34234io 103647pf+0w
57116.121u 1624.954s 1:04:04.74 1527.8% 79333+3172k 106961+33868io 103649pf+0w
57049.211u 1653.179s 1:03:59.63 1528.8% 79313+3170k 107024+33691io 103668pf+0w

With the change:

56923.523u 1414.865s 1:03:38.69 1527.7% 79523+3176k 168757+35075io 126681pf+0w
56961.421u 1455.365s 1:03:44.00 1527.6% 79489+3174k 107367+34947io 103656pf+0w
56973.635u 1489.019s 1:03:51.41 1525.8% 79461+3174k 107218+34336io 103668pf+0w
57020.035u 1494.583s 1:03:49.05 1528.1% 79447+3175k 107250+34111io 103670pf+0w
57003.032u 1543.643s 1:03:54.68 1526.7% 79403+3173k 107746+34609io 103677pf+0w
57071.791u 1553.238s 1:03:54.05 1529.0% 79388+3173k 107144+33988io 103646pf+0w
57021.431u 1550.463s 1:03:57.34 1526.3% 79401+3173k 107130+34422io 103690pf+0w
57065.947u 1550.013s 1:03:56.42 1527.8% 79390+3173k 107036+33826io 103686pf+0w
57046.543u 1550.761s 1:03:52.68 1528.8% 79406+3173k 107099+34309io 103650pf+0w
57033.850u 1541.638s 1:03:57.41 1526.4% 79407+3173k 107146+33971io 103642pf+0w
57038.806u 1550.731s 1:03:56.09 1527.3% 79404+3172k 107023+33894io 103663pf+0w
57089.623u 1640.700s 1:04:04.90 1527.4% 79304+3171k 107021+33885io 103625pf+0w

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

dougm requested review of this revision.Dec 2 2024, 7:15 AM
dougm created this revision.
dougm retitled this revision from vm_page: remove iter before iter free to vm_page: remove iter before iter {free, remove}.
dougm edited the summary of this revision. (Show Details)