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