diff options
author | Philip Guenther <guenther@cvs.openbsd.org> | 2014-05-15 03:52:26 +0000 |
---|---|---|
committer | Philip Guenther <guenther@cvs.openbsd.org> | 2014-05-15 03:52:26 +0000 |
commit | e506c0d0fe8f303ad0ee1919a6a6ee3776fabe6d (patch) | |
tree | 5c22a4e27260674fa90b63be55b990954640f7d2 /sys/uvm/uvm_extern.h | |
parent | e611550ea6065c55977d0848738c401851343932 (diff) |
Move from struct proc to process the reference-count-holding pointers
to the process's vmspace and filedescs. struct proc continues to
keep copies of the pointers, copying them on fork, clearing them
on exit, and (for vmspace) refreshing on exec.
Also, make uvm_swapout_threads() thread aware, eliminating p_swtime
in kernel.
particular testing by ajacoutot@ and sebastia@
Diffstat (limited to 'sys/uvm/uvm_extern.h')
-rw-r--r-- | sys/uvm/uvm_extern.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/sys/uvm/uvm_extern.h b/sys/uvm/uvm_extern.h index 4dd4ee8bb54..76b5946352f 100644 --- a/sys/uvm/uvm_extern.h +++ b/sys/uvm/uvm_extern.h @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_extern.h,v 1.114 2014/05/06 11:50:14 mpi Exp $ */ +/* $OpenBSD: uvm_extern.h,v 1.115 2014/05/15 03:52:25 guenther Exp $ */ /* $NetBSD: uvm_extern.h,v 1.57 2001/03/09 01:02:12 chs Exp $ */ /* @@ -513,9 +513,8 @@ int uvm_fault(vm_map_t, vaddr_t, void uvm_chgkprot(caddr_t, size_t, int); #endif vaddr_t uvm_uarea_alloc(void); -void uvm_fork(struct proc *, struct proc *, boolean_t, - void *, size_t, void (*)(void *), void *); -void uvm_exit(struct proc *); +void uvm_uarea_free(struct proc *); +void uvm_exit(struct process *); void uvm_init_limits(struct proc *); boolean_t uvm_kernacc(caddr_t, size_t, int); @@ -668,9 +667,9 @@ struct vmspace *uvmspace_alloc(vaddr_t, vaddr_t, void uvmspace_init(struct vmspace *, struct pmap *, vaddr_t, vaddr_t, boolean_t, boolean_t); void uvmspace_exec(struct proc *, vaddr_t, vaddr_t); -struct vmspace *uvmspace_fork(struct vmspace *); +struct vmspace *uvmspace_fork(struct process *); void uvmspace_free(struct vmspace *); -void uvmspace_share(struct proc *, struct proc *); +struct vmspace *uvmspace_share(struct process *); /* uvm_meter.c */ |