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>