NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/40027 (pagedaemon loops on memory shortage)

The following reply was made to PR kern/40027; it has been noted by GNATS.

From: Andrew Doran <>
Subject: Re: kern/40027 (pagedaemon loops on memory shortage)
Date: Tue, 2 Dec 2008 12:06:09 +0000

 A rough guess at what is happening:
 The first 16 pages on the inactive list are dirty anons that are not swap
 backed. The pagedaemon wants to evict them but fails to allocate swap slots
 for them, as all swap is in use. It moves on to the next victim page. Once
 we reach a limit of 16 tries we give up and fall out of uvmpd_scan_queue().
 uvmpdpol_balancequeue() should remedy this condition by dropping swap slots
 from resident anons that are swap backed. However, it only scans the active
 queue so can miss swap-backed pages that are on the inactive queue.
 We loop back through it ad-infinitum, making no forward progress.

Home | Main Index | Thread Index | Old Index