From 57facae9c1b4799224ff7e41af167f791749d102 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 4 Feb 2025 22:16:44 +0100 Subject: vm_page: Avoid trying to evict internal pages until defpager is up Otherwise we will get stuck inside vm_object_pager_create's call to vm_object_enter trying to reference it. This avoids getting stuck when there is no swap and we don't start a defpager. --- vm/vm_page.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vm/vm_page.c b/vm/vm_page.c index b0d3b7c2..39aa674a 100644 --- a/vm/vm_page.c +++ b/vm/vm_page.c @@ -2035,7 +2035,7 @@ again: * Eviction failed, consider pages from internal objects on the * next attempt. */ - if (external_only) { + if (external_only && memory_manager_default) { simple_unlock(&vm_page_queue_free_lock); external_only = FALSE; goto again; -- cgit v1.2.3