svn commit: r193593 - in head/sys: kern vm

Alan Cox alc at FreeBSD.org
Sat Jun 6 20:13:15 UTC 2009


Author: alc
Date: Sat Jun  6 20:13:14 2009
New Revision: 193593
URL: http://svn.freebsd.org/changeset/base/193593

Log:
  If vm_pager_get_pages() returns VM_PAGER_OK, then there is no need to check
  the page's valid bits.  The page is guaranteed to be fully valid.  (For the
  record, this is documented in vm/vm_pager.h's comments.)

Modified:
  head/sys/kern/kern_exec.c
  head/sys/vm/vm_glue.c

Modified: head/sys/kern/kern_exec.c
==============================================================================
--- head/sys/kern/kern_exec.c	Sat Jun  6 19:07:15 2009	(r193592)
+++ head/sys/kern/kern_exec.c	Sat Jun  6 20:13:14 2009	(r193593)
@@ -948,8 +948,7 @@ exec_map_first_page(imgp)
 		initial_pagein = i;
 		rv = vm_pager_get_pages(object, ma, initial_pagein, 0);
 		ma[0] = vm_page_lookup(object, 0);
-		if ((rv != VM_PAGER_OK) || (ma[0] == NULL) ||
-		    (ma[0]->valid == 0)) {
+		if ((rv != VM_PAGER_OK) || (ma[0] == NULL)) {
 			if (ma[0]) {
 				vm_page_lock_queues();
 				vm_page_free(ma[0]);

Modified: head/sys/vm/vm_glue.c
==============================================================================
--- head/sys/vm/vm_glue.c	Sat Jun  6 19:07:15 2009	(r193592)
+++ head/sys/vm/vm_glue.c	Sat Jun  6 20:13:14 2009	(r193593)
@@ -259,7 +259,7 @@ vm_imgact_hold_page(vm_object_t object, 
 		m = vm_page_lookup(object, pindex);
 		if (m == NULL)
 			goto out;
-		if (m->valid == 0 || rv != VM_PAGER_OK) {
+		if (rv != VM_PAGER_OK) {
 			vm_page_lock_queues();
 			vm_page_free(m);
 			vm_page_unlock_queues();


More information about the svn-src-all mailing list