Module Name:    src
Committed By:   uebayasi
Date:           Wed Feb  3 12:40:39 UTC 2010

Modified Files:
        src/sys/uvm: uvm_fault.c

Log Message:
uvm_fault_lower_generic_io: Reduce diff from uvm_loanuobj().


To generate a diff of this commit:
cvs rdiff -u -r1.157 -r1.158 src/sys/uvm/uvm_fault.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/uvm/uvm_fault.c
diff -u src/sys/uvm/uvm_fault.c:1.157 src/sys/uvm/uvm_fault.c:1.158
--- src/sys/uvm/uvm_fault.c:1.157	Wed Feb  3 07:48:18 2010
+++ src/sys/uvm/uvm_fault.c	Wed Feb  3 12:40:39 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_fault.c,v 1.157 2010/02/03 07:48:18 uebayasi Exp $	*/
+/*	$NetBSD: uvm_fault.c,v 1.158 2010/02/03 12:40:39 uebayasi Exp $	*/
 
 /*
  *
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_fault.c,v 1.157 2010/02/03 07:48:18 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_fault.c,v 1.158 2010/02/03 12:40:39 uebayasi Exp $");
 
 #include "opt_uvmhist.h"
 
@@ -1775,7 +1775,7 @@
 {
 	struct vm_amap * const amap = ufi->entry->aref.ar_amap;
 	struct uvm_object *uobj = *ruobj;
-	struct vm_page *uobjpage;
+	struct vm_page *pg;
 	bool locked;
 	int gotpages;
 	int error;
@@ -1791,11 +1791,11 @@
 	uvmexp.fltget++;
 	gotpages = 1;
 	uoff = (ufi->orig_rvaddr - ufi->entry->start) + ufi->entry->offset;
-	error = uobj->pgops->pgo_get(uobj, uoff, &uobjpage, &gotpages,
+	error = uobj->pgops->pgo_get(uobj, uoff, &pg, &gotpages,
 	    0, flt->access_type & MASK(ufi->entry), ufi->entry->advice,
 	    PGO_SYNCIO);
-	/* locked: uobjpage(if no error) */
-	KASSERT(error != 0 || (uobjpage->flags & PG_BUSY) != 0);
+	/* locked: pg(if no error) */
+	KASSERT(error != 0 || (pg->flags & PG_BUSY) != 0);
 
 	/*
 	 * recover from I/O
@@ -1822,10 +1822,10 @@
 		return error;
 	}
 
-	/* locked: uobjpage */
+	/* locked: pg */
 
 	mutex_enter(&uvm_pageqlock);
-	uvm_pageactivate(uobjpage);
+	uvm_pageactivate(pg);
 	mutex_exit(&uvm_pageqlock);
 
 	/*
@@ -1838,12 +1838,12 @@
 		amap_lock(amap);
 
 	/* might be changed */
-	uobj = uobjpage->uobject;
+	uobj = pg->uobject;
 
 	mutex_enter(&uobj->vmobjlock);
 
-	/* locked(locked): maps(read), amap(if !null), uobj, uobjpage */
-	/* locked(!locked): uobj, uobjpage */
+	/* locked(locked): maps(read), amap(if !null), uobj, pg */
+	/* locked(!locked): uobj, pg */
 
 	/*
 	 * verify that the page has not be released and re-verify
@@ -1851,9 +1851,8 @@
 	 * we unlock and clean up.
 	 */
 
-	if ((uobjpage->flags & PG_RELEASED) != 0 ||
-	    (locked && amap &&
-	    amap_lookup(&ufi->entry->aref,
+	if ((pg->flags & PG_RELEASED) != 0 ||
+	    (locked && amap && amap_lookup(&ufi->entry->aref,
 	      ufi->orig_rvaddr - ufi->entry->start))) {
 		if (locked)
 			uvmfault_unlockall(ufi, amap, NULL, NULL);
@@ -1868,30 +1867,31 @@
 		UVMHIST_LOG(maphist,
 		    "  wasn't able to relock after fault: retry",
 		    0,0,0,0);
-		if (uobjpage->flags & PG_WANTED)
-			wakeup(uobjpage);
-		if (uobjpage->flags & PG_RELEASED) {
+		if (pg->flags & PG_WANTED) {
+			wakeup(pg);
+		}
+		if (pg->flags & PG_RELEASED) {
 			uvmexp.fltpgrele++;
-			uvm_pagefree(uobjpage);
+			uvm_pagefree(pg);
 			mutex_exit(&uobj->vmobjlock);
 			return ERESTART;
 		}
-		uobjpage->flags &= ~(PG_BUSY|PG_WANTED);
-		UVM_PAGE_OWN(uobjpage, NULL);
+		pg->flags &= ~(PG_BUSY|PG_WANTED);
+		UVM_PAGE_OWN(pg, NULL);
 		mutex_exit(&uobj->vmobjlock);
 		return ERESTART;
 	}
 
 	/*
-	 * we have the data in uobjpage which is busy and
+	 * we have the data in pg which is busy and
 	 * not released.  we are holding object lock (so the page
 	 * can't be released on us).
 	 */
 
-	/* locked: maps(read), amap(if !null), uobj, uobjpage */
+	/* locked: maps(read), amap(if !null), uobj, pg */
 
 	*ruobj = uobj;
-	*ruobjpage = uobjpage;
+	*ruobjpage = pg;
 	return 0;
 }
 

Reply via email to