Ensure that pass > 0 when starting a scan with vm_pages_needed == 1.

Otherwise the page daemon will not reclaim pages and thus will not
wake threads sleeping in VM_WAIT.

Reported and tested by:	pho
Reviewed by:	alc, kib
X-MFC with:	r327168
Differential Revision:	https://reviews.freebsd.org/D13640
This commit is contained in:
Mark Johnston 2017-12-26 16:29:39 +00:00
parent c8a5f66527
commit 65ef323137
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=327213

View File

@ -1836,6 +1836,8 @@ vm_pageout_worker(void *arg)
*/
if (vm_pages_needed) {
mtx_unlock(&vm_page_queue_free_mtx);
if (pass == 0)
pass++;
} else if (mtx_sleep(&vm_pageout_wanted,
&vm_page_queue_free_mtx, PDROP | PVM, "psleep",
hz) == 0) {