diff options
author | alc <alc@FreeBSD.org> | 2010-05-06 18:58:32 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-05-06 18:58:32 +0000 |
commit | fecc56fac19c93c470f79d1f557c149bd3c1e9b0 (patch) | |
tree | bd69226428af1da2a0d4fb0ab151f30836763046 /sys/kern/kern_exec.c | |
parent | f26ccb52af3d824a0efc9843c9a039e07fcdcb8c (diff) | |
download | FreeBSD-src-fecc56fac19c93c470f79d1f557c149bd3c1e9b0.zip FreeBSD-src-fecc56fac19c93c470f79d1f557c149bd3c1e9b0.tar.gz |
Eliminate page queues locking around most calls to vm_page_free().
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r-- | sys/kern/kern_exec.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 0ec9817..fc87d63 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -948,11 +948,9 @@ exec_map_first_page(imgp) rv = vm_pager_get_pages(object, ma, initial_pagein, 0); ma[0] = vm_page_lookup(object, 0); if ((rv != VM_PAGER_OK) || (ma[0] == NULL)) { - if (ma[0]) { + if (ma[0] != NULL) { vm_page_lock(ma[0]); - vm_page_lock_queues(); vm_page_free(ma[0]); - vm_page_unlock_queues(); vm_page_unlock(ma[0]); } VM_OBJECT_UNLOCK(object); |