CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]        2026/07/07 11:32:56

Modified files:
        sys/uvm        : uvm_pager.c uvm_pager.h uvm_pdaemon.c 

Log message:
Allocate the psegs that are reserved for the pagedeamon only if no other
psegs are available.  Let the pagedeamon only start a new swap cluster
if there are still at least two reserved slots available.  This goes a
long way towards guaranteeing that we have the resources to actually
write out the swap cluster once it is filled.  This is important since
the code that drops a cluster may need to acquire an rwlock, which means
the pagedaemon could sleep.  This is undesirable and may even lead to
deadlocks.

Note that there still is a possibility that we may fail to allocate a buf
from the bufpool, which would lead us to the same undesirable path.  So
far I've not been able to hit that case.

ok claudio@

Reply via email to