Page MenuHomeFreeBSD

Various improvements to vm_page_alloc_contig()
ClosedPublic

Authored by alc on Dec 21 2016, 4:48 PM.
Tags
None
Referenced Files
Unknown Object (File)
Feb 3 2024, 1:23 AM
Unknown Object (File)
Jan 9 2024, 5:50 AM
Unknown Object (File)
Jan 9 2024, 5:50 AM
Unknown Object (File)
Jan 9 2024, 5:50 AM
Unknown Object (File)
Jan 9 2024, 4:44 AM
Unknown Object (File)
Dec 27 2023, 7:58 PM
Unknown Object (File)
Dec 27 2023, 7:53 PM
Unknown Object (File)
Dec 14 2023, 11:29 PM
Subscribers

Details

Summary

Relax the object type restrictions on vm_page_alloc_contig(). Specifically, add support for object types that were previously prohibited because they could contain PG_CACHED pages.

Roughly halve the number of radix trie operations performed by vm_page_alloc_contig() using the same approach that is employed by vm_page_alloc(). Also, eliminate the radix trie lookup performed with the free page queues lock held.

Tidy up the handling of radix trie insert failures in vm_page_alloc() and vm_page_alloc_contig().

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

alc retitled this revision from to Various improvements to vm_page_alloc_contig().
alc updated this object.
alc edited the test plan for this revision. (Show Details)
alc added reviewers: kib, markj.
kib edited edge metadata.
This revision is now accepted and ready to land.Dec 21 2016, 5:22 PM
markj edited edge metadata.
alc added a subscriber: pho.

Peter, could you please test this patch?

In D8878#183786, @alc wrote:

Peter, could you please test this patch?

Sure.

In D8878#183788, @pho wrote:
In D8878#183786, @alc wrote:

Peter, could you please test this patch?

Sure.

Ran stress2 on a mix of i386 and amd64.
No problems seen.

This revision was automatically updated to reflect the committed changes.