Author: kib
Date: Thu Dec  8 10:29:41 2016
New Revision: 309709
URL: https://svnweb.freebsd.org/changeset/base/309709

Log:
  Move map_generation snapshot value into struct faultstate.
  
  Reviewed by:  alc
  Tested by:    pho
  Sponsored by: The FreeBSD Foundation
  MFC after:    1 week

Modified:
  head/sys/vm/vm_fault.c

Modified: head/sys/vm/vm_fault.c
==============================================================================
--- head/sys/vm/vm_fault.c      Thu Dec  8 10:28:51 2016        (r309708)
+++ head/sys/vm/vm_fault.c      Thu Dec  8 10:29:41 2016        (r309709)
@@ -122,6 +122,7 @@ struct faultstate {
        vm_pindex_t first_pindex;
        vm_map_t map;
        vm_map_entry_t entry;
+       int map_generation;
        bool lookup_still_valid;
        struct vnode *vp;
 };
@@ -339,7 +340,7 @@ vm_fault_hold(vm_map_t map, vm_offset_t 
        vm_pindex_t retry_pindex;
        vm_prot_t prot, retry_prot;
        int ahead, alloc_req, behind, cluster_offset, error, era, faultcount;
-       int locked, map_generation, nera, result, rv;
+       int locked, nera, result, rv;
        u_char behavior;
        boolean_t wired;        /* Passed by reference. */
        bool dead, growstack, hardfault, is_first_object_locked;
@@ -373,7 +374,7 @@ RetryFault:;
                return (result);
        }
 
-       map_generation = fs.map->timestamp;
+       fs.map_generation = fs.map->timestamp;
 
        if (fs.entry->eflags & MAP_ENTRY_NOFAULT) {
                panic("vm_fault: fault on nofault entry, addr: %lx",
@@ -972,7 +973,7 @@ readrest:
                        goto RetryFault;
                }
                fs.lookup_still_valid = true;
-               if (fs.map->timestamp != map_generation) {
+               if (fs.map->timestamp != fs.map_generation) {
                        result = vm_map_lookup_locked(&fs.map, vaddr, 
fault_type,
                            &fs.entry, &retry_object, &retry_pindex, 
&retry_prot, &wired);
 
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to