Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/uvm uvm_fault_internal: Skip another long code segment (...



details:   https://anonhg.NetBSD.org/src/rev/c302d9554172
branches:  trunk
changeset: 751289:c302d9554172
user:      uebayasi <uebayasi%NetBSD.org@localhost>
date:      Sun Jan 31 07:37:24 2010 +0000

description:
uvm_fault_internal: Skip another long code segment (lower "neighbor" fault)
by a goto.

diffstat:

 sys/uvm/uvm_fault.c |  12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diffs (40 lines):

diff -r b505528863fa -r c302d9554172 sys/uvm/uvm_fault.c
--- a/sys/uvm/uvm_fault.c       Sun Jan 31 07:34:10 2010 +0000
+++ b/sys/uvm/uvm_fault.c       Sun Jan 31 07:37:24 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: uvm_fault.c,v 1.133 2010/01/31 07:32:35 uebayasi Exp $ */
+/*     $NetBSD: uvm_fault.c,v 1.134 2010/01/31 07:37:24 uebayasi Exp $ */
 
 /*
  *
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_fault.c,v 1.133 2010/01/31 07:32:35 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_fault.c,v 1.134 2010/01/31 07:37:24 uebayasi Exp $");
 
 #include "opt_uvmhist.h"
 
@@ -1065,7 +1065,9 @@
 
                uobjpage = NULL;
 
-               if (gotpages) {
+               if (gotpages == 0)
+                       goto lower_fault_lookup_done;
+
                        currva = startva;
                        for (lcv = 0; lcv < npages;
                             lcv++, currva += PAGE_SIZE) {
@@ -1143,7 +1145,9 @@
                                UVM_PAGE_OWN(curpg, NULL);
                        }
                        pmap_update(ufi.orig_map->pmap);
-               }
+
+lower_fault_lookup_done:
+               {}
        } else {
                uobjpage = NULL;
        }



Home | Main Index | Thread Index | Old Index