svn commit: r208040 - stable/8/sys/vm

Konstantin Belousov kib at FreeBSD.org
Thu May 13 18:12:45 UTC 2010


Author: kib
Date: Thu May 13 18:12:44 2010
New Revision: 208040
URL: http://svn.freebsd.org/changeset/base/208040

Log:
  MFC r206545 (by alc):
  Simplify vm_thread_swapin().
  
  Approved by:	alc

Modified:
  stable/8/sys/vm/vm_glue.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/xen/xenpci/   (props changed)
  stable/8/sys/geom/sched/   (props changed)

Modified: stable/8/sys/vm/vm_glue.c
==============================================================================
--- stable/8/sys/vm/vm_glue.c	Thu May 13 17:45:32 2010	(r208039)
+++ stable/8/sys/vm/vm_glue.c	Thu May 13 18:12:44 2010	(r208040)
@@ -539,7 +539,8 @@ vm_thread_swapin(struct thread *td)
 	ksobj = td->td_kstack_obj;
 	VM_OBJECT_LOCK(ksobj);
 	for (i = 0; i < pages; i++) {
-		m = vm_page_grab(ksobj, i, VM_ALLOC_NORMAL | VM_ALLOC_RETRY);
+		m = vm_page_grab(ksobj, i, VM_ALLOC_NORMAL | VM_ALLOC_RETRY |
+		    VM_ALLOC_WIRED);
 		if (m->valid != VM_PAGE_BITS_ALL) {
 			rv = vm_pager_get_pages(ksobj, &m, 1, 0);
 			if (rv != VM_PAGER_OK)
@@ -547,9 +548,6 @@ vm_thread_swapin(struct thread *td)
 			m = vm_page_lookup(ksobj, i);
 		}
 		ma[i] = m;
-		vm_page_lock_queues();
-		vm_page_wire(m);
-		vm_page_unlock_queues();
 		vm_page_wakeup(m);
 	}
 	VM_OBJECT_UNLOCK(ksobj);


More information about the svn-src-all mailing list