svn commit: r207552 - head/sys/vm
Alan Cox
alc at FreeBSD.org
Mon May 3 07:08:16 UTC 2010
Author: alc
Date: Mon May 3 07:08:16 2010
New Revision: 207552
URL: http://svn.freebsd.org/changeset/base/207552
Log:
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.
Modified:
head/sys/vm/vm_contig.c
head/sys/vm/vm_kern.c
Modified: head/sys/vm/vm_contig.c
==============================================================================
--- head/sys/vm/vm_contig.c Mon May 3 07:00:50 2010 (r207551)
+++ head/sys/vm/vm_contig.c Mon May 3 07:08:16 2010 (r207552)
@@ -268,11 +268,7 @@ retry:
i -= PAGE_SIZE;
m = vm_page_lookup(object, OFF_TO_IDX(offset +
i));
- vm_page_lock(m);
- vm_page_lock_queues();
vm_page_free(m);
- vm_page_unlock_queues();
- vm_page_unlock(m);
}
VM_OBJECT_UNLOCK(object);
vm_map_delete(map, addr, addr + size);
Modified: head/sys/vm/vm_kern.c
==============================================================================
--- head/sys/vm/vm_kern.c Mon May 3 07:00:50 2010 (r207551)
+++ head/sys/vm/vm_kern.c Mon May 3 07:08:16 2010 (r207552)
@@ -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);
More information about the svn-src-all
mailing list