diff options
author | Jakub Jermar <Jakub.Jermar@Sun.COM> | 2009-11-12 16:01:54 +0100 |
---|---|---|
committer | Jakub Jermar <Jakub.Jermar@Sun.COM> | 2009-11-12 16:01:54 +0100 |
commit | 5f661bbc7d40596c531df6eb04700d4deeb55e91 (patch) | |
tree | 713f0a7299c64dbd199935edd6829f6971199301 /usr/src/uts/i86pc/vm/htable.c | |
parent | d16449db47fba8bd718a61fc5d506d05ec79ff93 (diff) | |
download | illumos-gate-5f661bbc7d40596c531df6eb04700d4deeb55e91.tar.gz |
6835500 Superfluous ASSERT(ht->ht_lock_cnt == 0) in htable_release()
6893736 htable_reap() always reaps only 10 page tables
6893744 ptable_alloc() does not track active_ptables reliably
Diffstat (limited to 'usr/src/uts/i86pc/vm/htable.c')
-rw-r--r-- | usr/src/uts/i86pc/vm/htable.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/usr/src/uts/i86pc/vm/htable.c b/usr/src/uts/i86pc/vm/htable.c index c0eb1eed9d..f473416b55 100644 --- a/usr/src/uts/i86pc/vm/htable.c +++ b/usr/src/uts/i86pc/vm/htable.c @@ -270,7 +270,6 @@ ptable_alloc(uintptr_t seed) page_t *pp; pfn = PFN_INVALID; - atomic_add_32(&active_ptables, 1); /* * The first check is to see if there is memory in the system. If we @@ -305,6 +304,7 @@ ptable_alloc(uintptr_t seed) pfn = pp->p_pagenum; if (pfn == PFN_INVALID) panic("ptable_alloc(): Invalid PFN!!"); + atomic_add_32(&active_ptables, 1); HATSTAT_INC(hs_ptable_allocs); return (pfn); } @@ -695,7 +695,7 @@ htable_reap(void *handle) * Try to reap 5% of the page tables bounded by a maximum of * 5% of physmem and a minimum of 10. */ - reap_cnt = MIN(MAX(physmem / 20, active_ptables / 20), 10); + reap_cnt = MAX(MIN(physmem / 20, active_ptables / 20), 10); /* * Let htable_steal() do the work, we just call htable_free() @@ -1186,7 +1186,6 @@ htable_release(htable_t *ht) * Handle release of a table and freeing the htable_t. * Unlink it from the table higher (ie. ht_parent). */ - ASSERT(ht->ht_lock_cnt == 0); higher = ht->ht_parent; ASSERT(higher != NULL); |