Module Name: src Committed By: chs Date: Wed Oct 7 17:51:50 UTC 2020
Modified Files: src/sys/uvm: uvm_init.c uvm_page.h uvm_pglist.c uvm_swap.c Log Message: Add a new, more aggressive allocator for uvm_pglistalloc() to allocate contiguous physical pages, and try this new allocator if the existing one fails. The existing contig allocator only tries to allocate pages that are already free, which works fine shortly after boot but rarely works after the system has been up for a while. The new allocator uses the pagedaemon to evict pages from memory in the hope that this will free up a range of pages that satisfies the constraits of the request. This should help with things like plugging in a USB device, which often fails for some USB controllers because they can't get contigous memory. To generate a diff of this commit: cvs rdiff -u -r1.53 -r1.54 src/sys/uvm/uvm_init.c cvs rdiff -u -r1.106 -r1.107 src/sys/uvm/uvm_page.h cvs rdiff -u -r1.85 -r1.86 src/sys/uvm/uvm_pglist.c cvs rdiff -u -r1.199 -r1.200 src/sys/uvm/uvm_swap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.