diff options
| -rw-r--r-- | sys/amd64/amd64/pmap.c | 10 | ||||
| -rw-r--r-- | sys/i386/i386/pmap.c | 10 | ||||
| -rw-r--r-- | sys/vm/vm_page.c | 3 | 
3 files changed, 14 insertions, 9 deletions
| diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 46cf1a8c2d4c..345b80cc798f 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -39,7 +39,7 @@   * SUCH DAMAGE.   *   *	from:	@(#)pmap.c	7.7 (Berkeley)	5/12/91 - *	$Id: pmap.c,v 1.102 1996/06/08 06:48:27 dyson Exp $ + *	$Id: pmap.c,v 1.103 1996/06/12 05:02:52 gpalmer Exp $   */  /* @@ -418,8 +418,8 @@ pmap_unwire_pte_hold(vm_page_t m) {  			--cnt.v_wire_count;  			m->dirty = 0;  			vm_page_deactivate(m); +			return 1;  		} -		return 1;  	}  	return 0;  } @@ -1431,8 +1431,9 @@ retry:  		s = splvm();  		vm_page_unqueue(m);  		splx(s); +		if (m->wire_count == 0) +			++cnt.v_wire_count;  		++m->wire_count; -		++cnt.v_wire_count;  	}  	/* @@ -1510,8 +1511,9 @@ pmap_allocpte(pmap, va)  			int s = splvm();  			vm_page_unqueue(m);  			splx(s); +			if (m->wire_count == 0) +				++cnt.v_wire_count;  			++m->wire_count; -			++cnt.v_wire_count;  		}  		++m->hold_count;  		return m; diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index 46cf1a8c2d4c..345b80cc798f 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -39,7 +39,7 @@   * SUCH DAMAGE.   *   *	from:	@(#)pmap.c	7.7 (Berkeley)	5/12/91 - *	$Id: pmap.c,v 1.102 1996/06/08 06:48:27 dyson Exp $ + *	$Id: pmap.c,v 1.103 1996/06/12 05:02:52 gpalmer Exp $   */  /* @@ -418,8 +418,8 @@ pmap_unwire_pte_hold(vm_page_t m) {  			--cnt.v_wire_count;  			m->dirty = 0;  			vm_page_deactivate(m); +			return 1;  		} -		return 1;  	}  	return 0;  } @@ -1431,8 +1431,9 @@ retry:  		s = splvm();  		vm_page_unqueue(m);  		splx(s); +		if (m->wire_count == 0) +			++cnt.v_wire_count;  		++m->wire_count; -		++cnt.v_wire_count;  	}  	/* @@ -1510,8 +1511,9 @@ pmap_allocpte(pmap, va)  			int s = splvm();  			vm_page_unqueue(m);  			splx(s); +			if (m->wire_count == 0) +				++cnt.v_wire_count;  			++m->wire_count; -			++cnt.v_wire_count;  		}  		++m->hold_count;  		return m; diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 47543fe830ed..b0b755f3f15b 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -34,7 +34,7 @@   * SUCH DAMAGE.   *   *	from: @(#)vm_page.c	7.4 (Berkeley) 5/7/91 - *	$Id: vm_page.c,v 1.54 1996/06/05 03:31:48 dyson Exp $ + *	$Id: vm_page.c,v 1.55 1996/06/08 06:48:34 dyson Exp $   */  /* @@ -776,6 +776,7 @@ vm_page_freechk_and_unqueue(m)  				m->wire_count, m->pindex);  		}  		m->wire_count = 0; +		cnt.v_wire_count--;  	}  	return 1; | 
