summaryrefslogtreecommitdiff
path: root/vm/vm_page.h
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-08-16 02:17:56 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-08-28 15:47:56 +0200
commitf4f69485b87569bdfb86b72cb877fa859a8a6c02 (patch)
treef31036f23e788ba695c3aad3a3207019782f7cb1 /vm/vm_page.h
parentd9da5d41510e102983a51f9c9be08a80956b33e4 (diff)
yyy vm: turn page queue lock into a general lock
Diffstat (limited to 'vm/vm_page.h')
-rw-r--r--vm/vm_page.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/vm/vm_page.h b/vm/vm_page.h
index e6a8c49..90599a1 100644
--- a/vm/vm_page.h
+++ b/vm/vm_page.h
@@ -180,8 +180,7 @@ int vm_page_external_count; /* How many pages for external objects? */
-decl_simple_lock_data(extern,vm_page_queue_lock)/* lock on active and inactive
- page queues */
+struct lock vm_page_queue_lock; /* lock on active and inactive page queues */
decl_simple_lock_data(extern,vm_page_queue_free_lock)
/* lock on free page queue */
@@ -292,8 +291,8 @@ extern unsigned int vm_page_info(
#define VM_PAGE_WAIT(continuation) vm_page_wait(continuation)
-#define vm_page_lock_queues() simple_lock(&vm_page_queue_lock)
-#define vm_page_unlock_queues() simple_unlock(&vm_page_queue_lock)
+#define vm_page_lock_queues() lock_write(&vm_page_queue_lock)
+#define vm_page_unlock_queues() lock_write_done(&vm_page_queue_lock)
#define VM_PAGE_QUEUES_REMOVE(mem) \
MACRO_BEGIN \