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@

Reply via email to