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-16 02:19:38 +0200
commit03955afa0a3cc6e9dece39ec631ce3744b1b08ba (patch)
treef60616ba0e3b4bf7d59a7cda1f95f26adf878b7d /vm/vm_page.h
parent75e34439527edaf9299da07b54c305a5068b3a1a (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 c401b25..81ab3df 100644
--- a/vm/vm_page.h
+++ b/vm/vm_page.h
@@ -324,8 +324,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 */
@@ -431,8 +430,8 @@ extern void vm_page_unwire(vm_page_t);
#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 \