svn commit: r215867 - stable/8/sys/vm

Konstantin Belousov kib at FreeBSD.org
Fri Nov 26 15:33:11 UTC 2010


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++;
 }
 
 /*


More information about the svn-src-stable mailing list