diff options
author | alc <alc@FreeBSD.org> | 2002-06-22 01:26:02 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2002-06-22 01:26:02 +0000 |
commit | 54e88d233485957ffa9107e7397cf759d4182175 (patch) | |
tree | 6292f6555a6c110745a6a36cdcf9d4dcd6775645 /sys/vm/vm_glue.c | |
parent | 29fd0bf33a43d188d5a129e68686bae8f9306a56 (diff) | |
download | FreeBSD-src-54e88d233485957ffa9107e7397cf759d4182175.zip FreeBSD-src-54e88d233485957ffa9107e7397cf759d4182175.tar.gz |
o Remove GIANT_REQUIRED from vslock().
o Annotate kernacc(), useracc(), and vslock() as MPSAFE.
Motivated by: alfred
Diffstat (limited to 'sys/vm/vm_glue.c')
-rw-r--r-- | sys/vm/vm_glue.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index 587695b..6c48cbc 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -114,6 +114,9 @@ SYSINIT(scheduler, SI_SUB_RUN_SCHEDULER, SI_ORDER_FIRST, scheduler, NULL) static void swapout(struct proc *); #endif +/* + * MPSAFE + */ int kernacc(addr, len, rw) caddr_t addr; @@ -132,6 +135,9 @@ kernacc(addr, len, rw) return (rv == TRUE); } +/* + * MPSAFE + */ int useracc(addr, len, rw) caddr_t addr; @@ -162,12 +168,15 @@ useracc(addr, len, rw) return (rv == TRUE); } +/* + * MPSAFE + */ void vslock(addr, len) caddr_t addr; u_int len; { - GIANT_REQUIRED; + vm_map_wire(&curproc->p_vmspace->vm_map, trunc_page((vm_offset_t)addr), round_page((vm_offset_t)addr + len), FALSE); } |