diff options
author | dyson <dyson@FreeBSD.org> | 1998-01-31 11:56:53 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1998-01-31 11:56:53 +0000 |
commit | 2aacd1ab4f077361f06a6cce5d526955a6743e48 (patch) | |
tree | b18bcbfaf5b7cd766657c55c1d3a3785eb442113 /sys/vm/vm_object.h | |
parent | 89164485a3d81c25a2b3f202e5dc2ee0aedddd3f (diff) | |
download | FreeBSD-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.h | 4 |
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 */ |