svn commit: r255080 - head/sys/dev/md

Konstantin Belousov kib at FreeBSD.org
Fri Aug 30 20:12:23 UTC 2013


Author: kib
Date: Fri Aug 30 20:12:23 2013
New Revision: 255080
URL: http://svnweb.freebsd.org/changeset/base/255080

Log:
  Give the page allocations initiated by the swap-backed md(4) a higher
  priority.  If the write is requested by a system daemon, sleeping
  there would starve resources and cause deadlock.
  
  Reported and tested by:	pho
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/dev/md/md.c

Modified: head/sys/dev/md/md.c
==============================================================================
--- head/sys/dev/md/md.c	Fri Aug 30 20:10:01 2013	(r255079)
+++ head/sys/dev/md/md.c	Fri Aug 30 20:12:23 2013	(r255080)
@@ -826,7 +826,7 @@ mdstart_swap(struct md_s *sc, struct bio
 	vm_object_pip_add(sc->object, 1);
 	for (i = bp->bio_offset / PAGE_SIZE; i <= lastp; i++) {
 		len = ((i == lastp) ? lastend : PAGE_SIZE) - offs;
-		m = vm_page_grab(sc->object, i, VM_ALLOC_NORMAL);
+		m = vm_page_grab(sc->object, i, VM_ALLOC_SYSTEM);
 		if (bp->bio_cmd == BIO_READ) {
 			if (m->valid == VM_PAGE_BITS_ALL)
 				rv = VM_PAGER_OK;


More information about the svn-src-head mailing list