diff options
author | Alan Cox <alc@FreeBSD.org> | 2002-04-19 02:08:33 +0000 |
---|---|---|
committer | Alan Cox <alc@FreeBSD.org> | 2002-04-19 02:08:33 +0000 |
commit | 3c3f826d7e003fc9244939dd7a93f369a92aedca (patch) | |
tree | 179880429c7f9017f86118ac23900983c5ef4599 | |
parent | 0a371dd9f327e08daf9dc6ea5a8f195fc9125025 (diff) | |
download | src-3c3f826d7e003fc9244939dd7a93f369a92aedca.tar.gz src-3c3f826d7e003fc9244939dd7a93f369a92aedca.zip |
o Remove vm_map_growstack() from ia64's trap_pfault().
o Remove the acquisition and release of Giant from ia64's trap_pfault().
(vm_fault() still acquires it.)
Notes
Notes:
svn path=/head/; revision=95019
-rw-r--r-- | sys/ia64/ia64/trap.c | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/sys/ia64/ia64/trap.c b/sys/ia64/ia64/trap.c index 1283899b6db6..eac72728a249 100644 --- a/sys/ia64/ia64/trap.c +++ b/sys/ia64/ia64/trap.c @@ -540,7 +540,6 @@ trap(int vector, int imm, struct trapframe *framep) td->td_pcb->pcb_onfault = 0; goto out; } - mtx_lock(&Giant); /* * It is only a kernel address space fault iff: @@ -592,20 +591,8 @@ trap(int vector, int imm, struct trapframe *framep) ++p->p_lock; PROC_UNLOCK(p); - /* - * Grow the stack if necessary - */ - /* vm_map_growstack fails only if va falls into - * a growable stack region and the stack growth - * fails. It succeeds if va was not within - * a growable stack region, or if the stack - * growth succeeded. - */ - if (vm_map_growstack(p, va) != KERN_SUCCESS) - rv = KERN_FAILURE; - else - /* Fault in the user page: */ - rv = vm_fault(map, va, ftype, + /* Fault in the user page: */ + rv = vm_fault(map, va, ftype, (ftype & VM_PROT_WRITE) ? VM_FAULT_DIRTY : VM_FAULT_NORMAL); @@ -620,7 +607,6 @@ trap(int vector, int imm, struct trapframe *framep) */ rv = vm_fault(map, va, ftype, VM_FAULT_NORMAL); } - mtx_unlock(&Giant); if (rv == KERN_SUCCESS) goto out; |