CVSROOT: /cvs Module name: src Changes by: m...@cvs.openbsd.org 2022/06/28 13:19:34
Modified files: sys/uvm : uvm_swap.c uvm_swap.h Log message: Pre-allocate pages in DMA-reachable region to ensure progress in the swapper. Currently swap encryption is not done in place and some architectures need to bounce pages into a DMA-reachable region for I/Os, for that uvm_swap_io() needs to allocate at most 64K to write a swap cluster to disk. Pre-allocate such amount of memory to be sure the page daemon can make progress in OOM situation. Also introduce a sleeping point to wait for the previous asynchronous I/O holding the pre-allocated pages, there's no point in building clusters if no progress can be made. ok beck@, kettenis@