CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]    2025/12/03 02:47:44

Modified files:
        sys/uvm        : uvm_pdaemon.c uvm_aobj.c 

Log message:
Let the page daemon recover when uao_set_swslot() returns ENOMEM.

When all available pages have been exhausted it might not be possible for the
aobj layer to allocate a new element for a hash table.  In that case simply
skip the page.  The page daemon will likely find a page that can be added to
the cluster without requiring any allocation in uao_set_swslot().

Not that this edge case, reported by bluhm@, can be triggered because the
aiodone daemon releases the memory reserved for the page daemon asynchronously.
So there might always be a window where no page are available to write pages
to disk.

Tested by and ok bluhm@

Reply via email to