diff options
Diffstat (limited to 'debian/patches/upstreamme0008-vm-object-use-a-general-lock-to-protect-the-object-c.patch')
-rw-r--r-- | debian/patches/upstreamme0008-vm-object-use-a-general-lock-to-protect-the-object-c.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/debian/patches/upstreamme0008-vm-object-use-a-general-lock-to-protect-the-object-c.patch b/debian/patches/upstreamme0008-vm-object-use-a-general-lock-to-protect-the-object-c.patch new file mode 100644 index 0000000..3ff7e24 --- /dev/null +++ b/debian/patches/upstreamme0008-vm-object-use-a-general-lock-to-protect-the-object-c.patch @@ -0,0 +1,48 @@ +From 95062009c1d55ecefa976c81e9cee941eae600fe Mon Sep 17 00:00:00 2001 +From: Justus Winter <4winter@informatik.uni-hamburg.de> +Date: Sat, 25 Jul 2015 02:21:33 +0200 +Subject: [PATCH gnumach 08/10] vm/object: use a general lock to protect the + object cache + +* vm/vm_object.c: Use a general lock to protect the object cache. +--- + vm/vm_object.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/vm/vm_object.c b/vm/vm_object.c +index deac0c2..b403d30 100644 +--- a/vm/vm_object.c ++++ b/vm/vm_object.c +@@ -178,14 +178,16 @@ queue_head_t vm_object_cached_list; + int vm_object_cached_count; + int vm_object_cached_max = 4000; /* may be patched*/ + +-decl_simple_lock_data(,vm_object_cached_lock_data) ++struct lock vm_object_cache_lock_data; + ++#define vm_object_cache_lock_init() \ ++ lock_init(&vm_object_cache_lock_data, FALSE) + #define vm_object_cache_lock() \ +- simple_lock(&vm_object_cached_lock_data) ++ lock_write(&vm_object_cache_lock_data) + #define vm_object_cache_lock_try() \ +- simple_lock_try(&vm_object_cached_lock_data) ++ lock_try_write(&vm_object_cache_lock_data) + #define vm_object_cache_unlock() \ +- simple_unlock(&vm_object_cached_lock_data) ++ lock_write_done(&vm_object_cache_lock_data) + + /* + * Number of physical pages referenced by cached objects. +@@ -261,7 +263,7 @@ void vm_object_bootstrap(void) + sizeof(struct vm_object), 0, NULL, NULL, NULL, 0); + + queue_init(&vm_object_cached_list); +- simple_lock_init(&vm_object_cached_lock_data); ++ vm_object_cache_lock_init(); + + /* + * Fill in a template object, for quick initialization +-- +2.1.4 + |