diff options
Diffstat (limited to 'debian/patches/upstreamme0009-vm-object-use-a-general-lock-to-protect-vm-objects.patch')
-rw-r--r-- | debian/patches/upstreamme0009-vm-object-use-a-general-lock-to-protect-vm-objects.patch | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/debian/patches/upstreamme0009-vm-object-use-a-general-lock-to-protect-vm-objects.patch b/debian/patches/upstreamme0009-vm-object-use-a-general-lock-to-protect-vm-objects.patch deleted file mode 100644 index f03a998..0000000 --- a/debian/patches/upstreamme0009-vm-object-use-a-general-lock-to-protect-vm-objects.patch +++ /dev/null @@ -1,86 +0,0 @@ -From bcef2e3112634dd780b9d694fcc3b266d45a203f Mon Sep 17 00:00:00 2001 -From: Justus Winter <4winter@informatik.uni-hamburg.de> -Date: Sat, 25 Jul 2015 02:26:36 +0200 -Subject: [PATCH gnumach 09/10] vm/object: use a general lock to protect vm - objects - -* vm/vm_object.h (struct vm_object): Use a general lock, adapt macros. ---- - vm/vm_object.h | 25 +++++++++++++------------ - 1 file changed, 13 insertions(+), 12 deletions(-) - -diff --git a/vm/vm_object.h b/vm/vm_object.h -index 3bfc67a..3c9055f 100644 ---- a/vm/vm_object.h -+++ b/vm/vm_object.h -@@ -63,7 +63,7 @@ typedef struct ipc_port * pager_request_t; - - struct vm_object { - queue_chain_t memq; /* Resident memory */ -- decl_simple_lock_data(, Lock) /* Synchronization */ -+ struct lock Lock; /* Synchronization */ - #if VM_OBJECT_DEBUG - thread_t LockHolder; /* Thread holding Lock */ - #endif /* VM_OBJECT_DEBUG */ -@@ -336,14 +336,15 @@ vm_object_t vm_object_copy_delayed( - */ - - #if VM_OBJECT_DEBUG -+ - #define vm_object_lock_init(object) \ - MACRO_BEGIN \ -- simple_lock_init(&(object)->Lock); \ -+ lock_init(&(object)->Lock, TRUE); \ - (object)->LockHolder = 0; \ - MACRO_END - #define vm_object_lock(object) \ - MACRO_BEGIN \ -- simple_lock(&(object)->Lock); \ -+ lock_write(&(object)->Lock); \ - (object)->LockHolder = current_thread(); \ - MACRO_END - #define vm_object_unlock(object) \ -@@ -351,10 +352,10 @@ MACRO_BEGIN \ - if ((object)->LockHolder != current_thread()) \ - panic("vm_object_unlock 0x%x", (object)); \ - (object)->LockHolder = 0; \ -- simple_unlock(&(object)->Lock); \ -+ lock_done(&(object)->Lock); \ - MACRO_END - #define vm_object_lock_try(object) \ -- (simple_lock_try(&(object)->Lock) \ -+ (lock_try_write(&(object)->Lock) \ - ? ( ((object)->LockHolder = current_thread()) , TRUE) \ - : FALSE) - #define vm_object_sleep(event, object, interruptible) \ -@@ -362,20 +363,20 @@ MACRO_BEGIN \ - if ((object)->LockHolder != current_thread()) \ - panic("vm_object_sleep %#x", (object)); \ - (object)->LockHolder = 0; \ -- thread_sleep((event_t)(event), simple_lock_addr((object)->Lock), \ -+ thread_sleep_lock((event_t)(event), &(object)->Lock, \ - (interruptible)); \ - MACRO_END - #define vm_object_lock_taken(object) \ - ((object)->LockHolder == current_thread()) - #else /* VM_OBJECT_DEBUG */ --#define vm_object_lock_init(object) simple_lock_init(&(object)->Lock) --#define vm_object_lock(object) simple_lock(&(object)->Lock) --#define vm_object_unlock(object) simple_unlock(&(object)->Lock) --#define vm_object_lock_try(object) simple_lock_try(&(object)->Lock) -+#define vm_object_lock_init(object) lock_init(&(object)->Lock, TRUE) -+#define vm_object_lock(object) lock_write(&(object)->Lock) -+#define vm_object_unlock(object) lock_done(&(object)->Lock) -+#define vm_object_lock_try(object) lock_try_write(&(object)->Lock) - #define vm_object_sleep(event, object, interruptible) \ -- thread_sleep((event_t)(event), simple_lock_addr((object)->Lock), \ -+ thread_sleep_lock((event_t)(event), &(object)->Lock, \ - (interruptible)) --#define vm_object_lock_taken(object) simple_lock_taken(&(object)->Lock) -+#define vm_object_lock_taken(object) lock_taken(&(object)->Lock) - #endif /* VM_OBJECT_DEBUG */ - - /* --- -2.1.4 - |