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