summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_object.h
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1998-01-31 11:56:53 +0000
committerdyson <dyson@FreeBSD.org>1998-01-31 11:56:53 +0000
commit2aacd1ab4f077361f06a6cce5d526955a6743e48 (patch)
treeb18bcbfaf5b7cd766657c55c1d3a3785eb442113 /sys/vm/vm_object.h
parent89164485a3d81c25a2b3f202e5dc2ee0aedddd3f (diff)
downloadFreeBSD-src-2aacd1ab4f077361f06a6cce5d526955a6743e48.zip
FreeBSD-src-2aacd1ab4f077361f06a6cce5d526955a6743e48.tar.gz
Change the busy page mgmt, so that when pages are freed, they
MUST be PG_BUSY. It is bogus to free a page that isn't busy, because it is in a state of being "unavailable" when being freed. The additional advantage is that the page_remove code has a better cross-check that the page should be busy and unavailable for other use. There were some minor problems with the collapse code, and this plugs those subtile "holes." Also, the vfs_bio code wasn't checking correctly for PG_BUSY pages. I am going to develop a more consistant scheme for grabbing pages, busy or otherwise. For now, we are stuck with the current morass.
Diffstat (limited to 'sys/vm/vm_object.h')
-rw-r--r--sys/vm/vm_object.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h
index 36bdb87..e67460e 100644
--- a/sys/vm/vm_object.h
+++ b/sys/vm/vm_object.h
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_object.h,v 1.42 1998/01/17 09:16:56 dyson Exp $
+ * $Id: vm_object.h,v 1.43 1998/01/22 17:30:40 dyson Exp $
*/
/*
@@ -97,6 +97,8 @@ struct vm_object {
u_short paging_in_progress; /* Paging (in or out) so don't collapse or destroy */
u_short behavior; /* see below */
int resident_page_count; /* number of resident pages */
+ int cache_count; /* number of cached pages */
+ int wire_count; /* number of wired pages */
vm_ooffset_t paging_offset; /* Offset into paging space */
struct vm_object *backing_object; /* object that I'm a shadow of */
vm_ooffset_t backing_object_offset;/* Offset in backing object */
OpenPOWER on IntegriCloud