Author: kib
Date: Fri Nov 26 15:33:09 2010
New Revision: 215867
URL: http://svn.freebsd.org/changeset/base/215867

Log:
  MFC r215469:
  Only increment object generation count when inserting the page into
  object page list.

Modified:
  stable/8/sys/vm/vm_object.c
  stable/8/sys/vm/vm_page.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)

Modified: stable/8/sys/vm/vm_object.c
==============================================================================
--- stable/8/sys/vm/vm_object.c Fri Nov 26 15:30:02 2010        (r215866)
+++ stable/8/sys/vm/vm_object.c Fri Nov 26 15:33:09 2010        (r215867)
@@ -604,7 +604,6 @@ doterm:
                        VM_OBJECT_LOCK(temp);
                        LIST_REMOVE(object, shadow_list);
                        temp->shadow_count--;
-                       temp->generation++;
                        VM_OBJECT_UNLOCK(temp);
                        object->backing_object = NULL;
                }
@@ -1156,7 +1155,6 @@ vm_object_shadow(
                VM_OBJECT_LOCK(source);
                LIST_INSERT_HEAD(&source->shadow_head, result, shadow_list);
                source->shadow_count++;
-               source->generation++;
 #if VM_NRESERVLEVEL > 0
                result->flags |= source->flags & OBJ_COLORED;
                result->pg_color = (source->pg_color + OFF_TO_IDX(*offset)) &
@@ -1224,7 +1222,6 @@ vm_object_split(vm_map_entry_t entry)
                LIST_INSERT_HEAD(&source->shadow_head,
                                  new_object, shadow_list);
                source->shadow_count++;
-               source->generation++;
                vm_object_reference_locked(source);     /* for new_object */
                vm_object_clear_flag(source, OBJ_ONEMAPPING);
                VM_OBJECT_UNLOCK(source);
@@ -1616,7 +1613,6 @@ vm_object_collapse(vm_object_t object)
                         */
                        LIST_REMOVE(object, shadow_list);
                        backing_object->shadow_count--;
-                       backing_object->generation++;
                        if (backing_object->backing_object) {
                                VM_OBJECT_LOCK(backing_object->backing_object);
                                LIST_REMOVE(backing_object, shadow_list);
@@ -1626,7 +1622,6 @@ vm_object_collapse(vm_object_t object)
                                /*
                                 * The shadow_count has not changed.
                                 */
-                               backing_object->backing_object->generation++;
                                
VM_OBJECT_UNLOCK(backing_object->backing_object);
                        }
                        object->backing_object = backing_object->backing_object;
@@ -1668,7 +1663,6 @@ vm_object_collapse(vm_object_t object)
                         */
                        LIST_REMOVE(object, shadow_list);
                        backing_object->shadow_count--;
-                       backing_object->generation++;
 
                        new_backing_object = backing_object->backing_object;
                        if ((object->backing_object = new_backing_object) != 
NULL) {
@@ -1679,7 +1673,6 @@ vm_object_collapse(vm_object_t object)
                                    shadow_list
                                );
                                new_backing_object->shadow_count++;
-                               new_backing_object->generation++;
                                vm_object_reference_locked(new_backing_object);
                                VM_OBJECT_UNLOCK(new_backing_object);
                                object->backing_object_offset +=

Modified: stable/8/sys/vm/vm_page.c
==============================================================================
--- stable/8/sys/vm/vm_page.c   Fri Nov 26 15:30:02 2010        (r215866)
+++ stable/8/sys/vm/vm_page.c   Fri Nov 26 15:33:09 2010        (r215867)
@@ -751,7 +751,6 @@ vm_page_remove(vm_page_t m)
         * And show that the object has one fewer resident page.
         */
        object->resident_page_count--;
-       object->generation++;
        /*
         * The vnode may now be recycled.
         */
@@ -1750,7 +1749,6 @@ vm_page_cache(vm_page_t m)
        object->root = root;
        TAILQ_REMOVE(&object->memq, m, listq);
        object->resident_page_count--;
-       object->generation++;
 
        /*
         * Restore the default memory attribute to the page.
@@ -2102,7 +2100,6 @@ vm_page_set_invalid(vm_page_t m, int bas
                pmap_remove_all(m);
        m->valid &= ~bits;
        m->dirty &= ~bits;
-       m->object->generation++;
 }
 
 /*
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to