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)
Wed, Dec 11, 6:35 AM
Unknown Object (File)
Sep 23 2024, 3:21 PM
Unknown Object (File)
Sep 1 2024, 3:12 PM
Unknown Object (File)
Aug 31 2024, 7:44 AM
Unknown Object (File)
Aug 18 2024, 10:46 AM
Unknown Object (File)
Aug 12 2024, 3:31 AM
Unknown Object (File)
Aug 6 2024, 7:49 AM
Unknown Object (File)
Jul 26 2024, 6:46 AM
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.