svn commit: r230258 - stable/9/sys/vm

Konstantin Belousov kib at FreeBSD.org
Tue Jan 17 06:57:56 UTC 2012


Author: kib
Date: Tue Jan 17 06:57:55 2012
New Revision: 230258
URL: http://svn.freebsd.org/changeset/base/230258

Log:
  MFC r229934:
  Change the type of the paging_in_progress refcounter from u_short to
  u_int. With the auto-sized buffer cache on the modern machines, UFS
  metadata can generate more the 65535 pages belonging to the buffers
  undergoing i/o, overflowing the counter.
  
  To keep the layout of other fields of the struct vm_object intact
  on stable/9, put enlarged paging_in_progress at the end of the structure,
  and put a placeholder in the place of old pip counter.

Modified:
  stable/9/sys/vm/vm_object.h
Directory Properties:
  stable/9/sys/   (props changed)

Modified: stable/9/sys/vm/vm_object.h
==============================================================================
--- stable/9/sys/vm/vm_object.h	Tue Jan 17 06:40:41 2012	(r230257)
+++ stable/9/sys/vm/vm_object.h	Tue Jan 17 06:57:55 2012	(r230258)
@@ -96,7 +96,7 @@ struct vm_object {
 	objtype_t type;			/* type of pager */
 	u_short flags;			/* see below */
 	u_short pg_color;		/* (c) color of first page in obj */
-	u_short paging_in_progress;	/* Paging (in or out) so don't collapse or destroy */
+	u_short pad1;			/* Old pip counter */
 	int resident_page_count;	/* number of resident pages */
 	struct vm_object *backing_object; /* object that I'm a shadow of */
 	vm_ooffset_t backing_object_offset;/* Offset in backing object */
@@ -146,6 +146,7 @@ struct vm_object {
 	} un_pager;
 	struct ucred *cred;
 	vm_ooffset_t charge;
+	u_int paging_in_progress;	/* Paging (in or out) so don't collapse or destroy */
 };
 
 /*


More information about the svn-src-stable-9 mailing list