Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Aug 2013 15:31:44 +0000 (UTC)
From:      Alan Cox <alc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r254599 - head/sys/vm
Message-ID:  <201308211531.r7LFVieh013063@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: alc
Date: Wed Aug 21 15:31:43 2013
New Revision: 254599
URL: http://svnweb.freebsd.org/changeset/base/254599

Log:
  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

Modified:
  head/sys/vm/vm_page.c

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c	Wed Aug 21 14:33:02 2013	(r254598)
+++ head/sys/vm/vm_page.c	Wed Aug 21 15:31:43 2013	(r254599)
@@ -1927,7 +1927,7 @@ vm_page_alloc_freelist(int flind, int re
 	/*
 	 * 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) ||



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308211531.r7LFVieh013063>