Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Mar 2010 23:27:16 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r205053 - in user/kmacy/head_page_lock/sys: amd64/include vm
Message-ID:  <201003112327.o2BNRGtr059796@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kmacy
Date: Thu Mar 11 23:27:16 2010
New Revision: 205053
URL: http://svn.freebsd.org/changeset/base/205053

Log:
  alias page lock to page queue lock for architectures with pmaps without page lock

Modified:
  user/kmacy/head_page_lock/sys/amd64/include/vmparam.h
  user/kmacy/head_page_lock/sys/vm/vm_page.h

Modified: user/kmacy/head_page_lock/sys/amd64/include/vmparam.h
==============================================================================
--- user/kmacy/head_page_lock/sys/amd64/include/vmparam.h	Thu Mar 11 23:05:13 2010	(r205052)
+++ user/kmacy/head_page_lock/sys/amd64/include/vmparam.h	Thu Mar 11 23:27:16 2010	(r205053)
@@ -88,6 +88,12 @@
 #define	UMA_MD_SMALL_ALLOC
 
 /*
+ * We support hashing pages to an entry in array of locks on amd64
+ */
+
+#define VM_PAGE_LOCK
+
+/*
  * The physical address space is densely populated.
  */
 #define	VM_PHYSSEG_DENSE

Modified: user/kmacy/head_page_lock/sys/vm/vm_page.h
==============================================================================
--- user/kmacy/head_page_lock/sys/vm/vm_page.h	Thu Mar 11 23:05:13 2010	(r205052)
+++ user/kmacy/head_page_lock/sys/vm/vm_page.h	Thu Mar 11 23:27:16 2010	(r205053)
@@ -273,11 +273,20 @@ extern struct vpglocks vm_page_queue_loc
 #define vm_page_unlock_queues() mtx_unlock(&vm_page_queue_mtx)
 #define	vm_page_trylock_queues() mtx_trylock(&vm_page_queue_mtx)
 
+#ifdef VM_PAGE_LOCK
 #define	vm_page_lockptr(m)		pmap_page_lockptr(m)
 #define	vm_page_lock(m)		mtx_lock(vm_page_lockptr((m)))
 #define	vm_page_unlock(m)	mtx_unlock(vm_page_lockptr((m)))
 #define	vm_page_trylock(m)	mtx_trylock(vm_page_lockptr((m)))
 #define	vm_page_lock_assert(m, a)	mtx_assert(vm_page_lockptr((m)), (a))
+#else
+#define	vm_page_lockptr(m)	(&vm_page_queue_mtx)
+#define	vm_page_lock(m)		mtx_lock(vm_page_lockptr((m)))
+#define	vm_page_unlock(m)	mtx_unlock(vm_page_lockptr((m)))
+#define	vm_page_trylock(m)	mtx_trylock(vm_page_lockptr((m)))
+#define	vm_page_lock_assert(m, a)	mtx_assert(vm_page_lockptr((m)), (a))
+#endif
+
 
 #if PAGE_SIZE == 4096
 #define VM_PAGE_BITS_ALL 0xffu



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003112327.o2BNRGtr059796>