diff options
author | alc <alc@FreeBSD.org> | 2010-05-03 07:08:16 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-05-03 07:08:16 +0000 |
commit | 34bfab021b5442c5389d345f46ff6ff111e69da8 (patch) | |
tree | a46a2ac0fa4cf363968712adc80322169a20f543 /sys/vm/vm_kern.c | |
parent | dda80c9587fba3b3c842e555ef7d08ed0949a600 (diff) | |
download | FreeBSD-src-34bfab021b5442c5389d345f46ff6ff111e69da8.zip FreeBSD-src-34bfab021b5442c5389d345f46ff6ff111e69da8.tar.gz |
The pages allocated by kmem_alloc_attr() and kmem_malloc() are unmanaged.
Consequently, neither the page lock nor the page queues lock is needed to
unwire and free them.
Diffstat (limited to 'sys/vm/vm_kern.c')
-rw-r--r-- | sys/vm/vm_kern.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index ead6d0d..95a4e9d 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -380,12 +380,8 @@ retry: i -= PAGE_SIZE; m = vm_page_lookup(kmem_object, OFF_TO_IDX(offset + i)); - vm_page_lock(m); - vm_page_lock_queues(); vm_page_unwire(m, 0); vm_page_free(m); - vm_page_unlock_queues(); - vm_page_unlock(m); } VM_OBJECT_UNLOCK(kmem_object); vm_map_delete(map, addr, addr + size); |