diff options
author | alc <alc@FreeBSD.org> | 2010-04-03 16:20:22 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-04-03 16:20:22 +0000 |
commit | d9ce618d9b6cb74383259e354c514b69802bd22a (patch) | |
tree | 1f0fd443a6e9f0d91fb2889342611b7a64fd4230 | |
parent | 238a37de82c68689f86b353ea628510ea7de86fb (diff) | |
download | FreeBSD-src-d9ce618d9b6cb74383259e354c514b69802bd22a.zip FreeBSD-src-d9ce618d9b6cb74383259e354c514b69802bd22a.tar.gz |
Re-enable the call to pmap_release() by vmspace_dofree(). The accounting
problem that is described in the comment has been addressed.
Submitted by: kib
Tested by: pho (a few months ago)
MFC after: 6 weeks
-rw-r--r-- | sys/vm/vm_map.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 3b17a30..1235ec0 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -313,6 +313,7 @@ vm_init2(void) static inline void vmspace_dofree(struct vmspace *vm) { + CTR1(KTR_VM, "vmspace_free: %p", vm); /* @@ -329,12 +330,8 @@ vmspace_dofree(struct vmspace *vm) (void)vm_map_remove(&vm->vm_map, vm->vm_map.min_offset, vm->vm_map.max_offset); - /* - * XXX Comment out the pmap_release call for now. The - * vmspace_zone is marked as UMA_ZONE_NOFREE, and bugs cause - * pmap.resident_count to be != 0 on exit sometimes. - */ -/* pmap_release(vmspace_pmap(vm)); */ + pmap_release(vmspace_pmap(vm)); + vm->vm_map.pmap = NULL; uma_zfree(vmspace_zone, vm); } |