diff options
author | Luoqi Chen <luoqi@FreeBSD.org> | 1999-02-19 14:25:37 +0000 |
---|---|---|
committer | Luoqi Chen <luoqi@FreeBSD.org> | 1999-02-19 14:25:37 +0000 |
commit | b1028ad12279c7dccd64315b123f9e9813b4d8f2 (patch) | |
tree | 8d291fddba6a5c70919fce05d97a1976a9f8d668 /sys/vm | |
parent | f19dd898a1cfe32d1246a40f7766cb9c777058e4 (diff) | |
download | src-b1028ad12279c7dccd64315b123f9e9813b4d8f2.tar.gz src-b1028ad12279c7dccd64315b123f9e9813b4d8f2.zip |
Hide access to vmspace:vm_pmap with inline function vmspace_pmap(). This
is the preparation step for moving pmap storage out of vmspace proper.
Reviewed by: Alan Cox <alc@cs.rice.edu>
Matthew Dillion <dillon@apollo.backplane.com>
Notes
Notes:
svn path=/head/; revision=44146
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vm_glue.c | 5 | ||||
-rw-r--r-- | sys/vm/vm_map.c | 12 | ||||
-rw-r--r-- | sys/vm/vm_map.h | 14 | ||||
-rw-r--r-- | sys/vm/vm_mmap.c | 6 | ||||
-rw-r--r-- | sys/vm/vm_pageout.c | 12 |
5 files changed, 30 insertions, 19 deletions
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index bd592be24e57..e8d88484d15d 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -59,7 +59,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_glue.c,v 1.82 1999/01/21 09:36:23 dillon Exp $ + * $Id: vm_glue.c,v 1.83 1999/01/26 02:38:12 julian Exp $ */ #include "opt_rlimit.h" @@ -511,8 +511,7 @@ swapout(p) /* * remember the process resident count */ - p->p_vmspace->vm_swrss = - p->p_vmspace->vm_pmap.pm_stats.resident_count; + p->p_vmspace->vm_swrss = vmspace_resident_count(p->p_vmspace); (void) splhigh(); p->p_flag &= ~P_INMEM; diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index 576c6c8d7134..cbb59cf1adef 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_map.c,v 1.149 1999/02/12 09:51:42 dillon Exp $ + * $Id: vm_map.c,v 1.150 1999/02/19 03:11:37 dillon Exp $ */ /* @@ -200,8 +200,8 @@ vmspace_alloc(min, max) vm = zalloc(vmspace_zone); bzero(&vm->vm_map, sizeof vm->vm_map); vm_map_init(&vm->vm_map, min, max); - pmap_pinit(&vm->vm_pmap); - vm->vm_map.pmap = &vm->vm_pmap; /* XXX */ + pmap_pinit(vmspace_pmap(vm)); + vm->vm_map.pmap = vmspace_pmap(vm); /* XXX */ vm->vm_refcnt = 1; vm->vm_shm = NULL; return (vm); @@ -240,7 +240,7 @@ vmspace_free(vm) vm->vm_map.max_offset); vm_map_unlock(&vm->vm_map); - pmap_release(&vm->vm_pmap); + pmap_release(vmspace_pmap(vm)); zfree(vmspace_zone, vm); } } @@ -2290,7 +2290,7 @@ vmspace_fork(vm1) vm2 = vmspace_alloc(old_map->min_offset, old_map->max_offset); bcopy(&vm1->vm_startcopy, &vm2->vm_startcopy, (caddr_t) (vm1 + 1) - (caddr_t) &vm1->vm_startcopy); - new_pmap = &vm2->vm_pmap; /* XXX */ + new_pmap = vmspace_pmap(vm2); /* XXX */ new_map = &vm2->vm_map; /* XXX */ new_map->timestamp = 1; @@ -3039,7 +3039,7 @@ DB_SHOW_COMMAND(procvm, procvm) db_printf("p = %p, vmspace = %p, map = %p, pmap = %p\n", (void *)p, (void *)p->p_vmspace, (void *)&p->p_vmspace->vm_map, - (void *)&p->p_vmspace->vm_pmap); + (void *)vmspace_pmap(p->p_vmspace)); vm_map_print((db_expr_t)(intptr_t)&p->p_vmspace->vm_map, 1, 0, NULL); } diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h index 96c02f7e6ab7..aac6641d35da 100644 --- a/sys/vm/vm_map.h +++ b/sys/vm/vm_map.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_map.h,v 1.34 1999/01/26 02:49:52 julian Exp $ + * $Id: vm_map.h,v 1.35 1999/02/07 21:48:22 dillon Exp $ */ /* @@ -282,6 +282,18 @@ _vm_map_lock_upgrade(vm_map_t map, struct proc *p) { #define vm_map_max(map) ((map)->max_offset) #define vm_map_pmap(map) ((map)->pmap) +static __inline struct pmap * +vmspace_pmap(struct vmspace *vmspace) +{ + return &vmspace->vm_pmap; +} + +static __inline long +vmspace_resident_count(struct vmspace *vmspace) +{ + return pmap_resident_count(vmspace_pmap(vmspace)); +} + /* XXX: number of kernel maps and entries to statically allocate */ #define MAX_KMAP 10 #define MAX_KMAPENT 128 diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index 8bf5311cf5fd..58f066dfd626 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -38,7 +38,7 @@ * from: Utah $Hdr: vm_mmap.c 1.6 91/10/21$ * * @(#)vm_mmap.c 8.4 (Berkeley) 1/12/94 - * $Id: vm_mmap.c,v 1.88 1999/01/26 02:49:52 julian Exp $ + * $Id: vm_mmap.c,v 1.89 1999/02/07 21:48:22 dillon Exp $ */ /* @@ -644,7 +644,7 @@ madvise(p, uap) end = round_page((vm_offset_t) uap->addr + uap->len); map = &p->p_vmspace->vm_map; - pmap = &p->p_vmspace->vm_pmap; + pmap = vmspace_pmap(p->p_vmspace); vm_map_madvise(map, pmap, start, end, uap->behav); @@ -693,7 +693,7 @@ mincore(p, uap) vec = uap->vec; map = &p->p_vmspace->vm_map; - pmap = &p->p_vmspace->vm_pmap; + pmap = vmspace_pmap(p->p_vmspace); vm_map_lock(map); diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c index ecb331ec8af7..9181635f5179 100644 --- a/sys/vm/vm_pageout.c +++ b/sys/vm/vm_pageout.c @@ -65,7 +65,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_pageout.c,v 1.135 1999/02/07 21:48:23 dillon Exp $ + * $Id: vm_pageout.c,v 1.136 1999/02/08 00:37:36 dillon Exp $ */ /* @@ -482,7 +482,7 @@ vm_pageout_object_deactivate_pages(map, object, desired, map_remove_only) return; while (object) { - if (vm_map_pmap(map)->pm_stats.resident_count <= desired) + if (pmap_resident_count(vm_map_pmap(map)) <= desired) return; if (object->paging_in_progress) return; @@ -497,7 +497,7 @@ vm_pageout_object_deactivate_pages(map, object, desired, map_remove_only) p = TAILQ_FIRST(&object->memq); while (p && (rcount-- > 0)) { int actcount; - if (vm_map_pmap(map)->pm_stats.resident_count <= desired) + if (pmap_resident_count(vm_map_pmap(map)) <= desired) return; next = TAILQ_NEXT(p, listq); cnt.v_pdpages++; @@ -598,7 +598,7 @@ vm_pageout_map_deactivate_pages(map, desired) */ tmpe = map->header.next; while (tmpe != &map->header) { - if (vm_map_pmap(map)->pm_stats.resident_count <= desired) + if (pmap_resident_count(vm_map_pmap(map)) <= desired) break; if ((tmpe->eflags & MAP_ENTRY_IS_SUB_MAP) == 0) { obj = tmpe->object.vm_object; @@ -1158,7 +1158,7 @@ rescan0: /* * get the process size */ - size = p->p_vmspace->vm_pmap.pm_stats.resident_count; + size = vmspace_resident_count(p->p_vmspace); /* * if the this process is bigger than the biggest one * remember it. @@ -1453,7 +1453,7 @@ vm_daemon() if ((p->p_flag & P_INMEM) == 0) limit = 0; /* XXX */ - size = p->p_vmspace->vm_pmap.pm_stats.resident_count * PAGE_SIZE; + size = vmspace_resident_count(p->p_vmspace) * PAGE_SIZE; if (limit >= 0 && size >= limit) { vm_pageout_map_deactivate_pages(&p->p_vmspace->vm_map, (vm_pindex_t)(limit >> PAGE_SHIFT) ); |