svn commit: r207393 - user/kmacy/head_page_lock_incr/sys/vm

Kip Macy kmacy at FreeBSD.org
Thu Apr 29 22:13:27 UTC 2010


Author: kmacy
Date: Thu Apr 29 22:13:27 2010
New Revision: 207393
URL: http://svn.freebsd.org/changeset/base/207393

Log:
  - define PDRSHIFT for !x86
  - add page lock assert in dirty check

Modified:
  user/kmacy/head_page_lock_incr/sys/vm/vm_page.c
  user/kmacy/head_page_lock_incr/sys/vm/vm_page.h

Modified: user/kmacy/head_page_lock_incr/sys/vm/vm_page.c
==============================================================================
--- user/kmacy/head_page_lock_incr/sys/vm/vm_page.c	Thu Apr 29 22:03:09 2010	(r207392)
+++ user/kmacy/head_page_lock_incr/sys/vm/vm_page.c	Thu Apr 29 22:13:27 2010	(r207393)
@@ -2179,6 +2179,7 @@ vm_page_is_valid(vm_page_t m, int base, 
 void
 vm_page_test_dirty(vm_page_t m)
 {
+	vm_page_lock_assert(m, MA_OWNED);
 	if ((m->dirty != VM_PAGE_BITS_ALL) && pmap_is_modified(m)) {
 		vm_page_dirty(m);
 	}

Modified: user/kmacy/head_page_lock_incr/sys/vm/vm_page.h
==============================================================================
--- user/kmacy/head_page_lock_incr/sys/vm/vm_page.h	Thu Apr 29 22:03:09 2010	(r207392)
+++ user/kmacy/head_page_lock_incr/sys/vm/vm_page.h	Thu Apr 29 22:13:27 2010	(r207393)
@@ -179,6 +179,12 @@ struct vpglocks {
 extern struct vpglocks vm_page_queue_free_lock;
 extern struct vpglocks pa_lock[];
 
+#if defined(__arm__)
+#define	PDRSHIFT	PDR_SHIFT
+#elif !defined(PDRSHIFT)
+#define PDRSHIFT	21
+#endif
+
 #define	pa_index(pa)	((pa) >> PDRSHIFT)
 #define	PA_LOCKPTR(pa)	&pa_lock[pa_index((pa)) % PA_LOCK_COUNT].data
 #define	PA_LOCKOBJPTR(pa)	((struct lock_object *)PA_LOCKPTR((pa)))


More information about the svn-src-user mailing list