From 28a288cbaa687f19e706dca1e35e0cd5cb23302d Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 21 Aug 2013 15:31:43 +0000 Subject: [PATCH] Addendum to r254141: Allow recursion on the free pages queues lock in vm_page_alloc_freelist(). Reported and tested by: sbruno Sponsored by: EMC / Isilon Storage Division --- sys/vm/vm_page.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 44a57fedb412..01b7cc0b92d0 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1927,7 +1927,7 @@ vm_page_alloc_freelist(int flind, int req) /* * Do not allocate reserved pages unless the req has asked for it. */ - mtx_lock(&vm_page_queue_free_mtx); + mtx_lock_flags(&vm_page_queue_free_mtx, MTX_RECURSE); if (cnt.v_free_count + cnt.v_cache_count > cnt.v_free_reserved || (req_class == VM_ALLOC_SYSTEM && cnt.v_free_count + cnt.v_cache_count > cnt.v_interrupt_free_min) ||