summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/patches/series2
-rw-r--r--debian/patches/upstreamme0001-ipc-avoid-kmem_alloc.patch45
-rw-r--r--debian/patches/upstreamme0002-kern-allocate-kernel-stacks-using-the-slab-allocator.patch92
3 files changed, 0 insertions, 139 deletions
diff --git a/debian/patches/series b/debian/patches/series
index c9dc7a4..e532dda 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,5 +13,3 @@ vm-cache-policy0001-VM-cache-policy-change.patch
vm-cache-policy0002-vm-keep-track-of-clean-pages.patch
vm-cache-policy0003-vm-evict-clean-pages-first.patch
-upstreamme0001-ipc-avoid-kmem_alloc.patch
-upstreamme0002-kern-allocate-kernel-stacks-using-the-slab-allocator.patch
diff --git a/debian/patches/upstreamme0001-ipc-avoid-kmem_alloc.patch b/debian/patches/upstreamme0001-ipc-avoid-kmem_alloc.patch
deleted file mode 100644
index 47f0c7a..0000000
--- a/debian/patches/upstreamme0001-ipc-avoid-kmem_alloc.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 0d1c85b580225d5f5935643e16d410dc1e5d18c6 Mon Sep 17 00:00:00 2001
-From: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Thu, 2 Jul 2015 16:14:18 +0200
-Subject: [PATCH gnumach 1/2] ipc: avoid kmem_alloc
-
-* ipc/ipc_table.c (ipc_table_alloc): Unconditionally use `kalloc'.
-(ipc_table_free): Unconditionally use `kfree'.
----
- ipc/ipc_table.c | 15 ++-------------
- 1 file changed, 2 insertions(+), 13 deletions(-)
-
-diff --git a/ipc/ipc_table.c b/ipc/ipc_table.c
-index 1a89d81..0f8592a 100644
---- a/ipc/ipc_table.c
-+++ b/ipc/ipc_table.c
-@@ -114,15 +114,7 @@ vm_offset_t
- ipc_table_alloc(
- vm_size_t size)
- {
-- vm_offset_t table;
--
-- if (size < PAGE_SIZE)
-- table = kalloc(size);
-- else
-- if (kmem_alloc(kmem_map, &table, size) != KERN_SUCCESS)
-- table = 0;
--
-- return table;
-+ return kalloc(size);
- }
-
- /*
-@@ -139,8 +131,5 @@ ipc_table_free(
- vm_size_t size,
- vm_offset_t table)
- {
-- if (size < PAGE_SIZE)
-- kfree(table, size);
-- else
-- kmem_free(kmem_map, table, size);
-+ kfree(table, size);
- }
---
-2.1.4
-
diff --git a/debian/patches/upstreamme0002-kern-allocate-kernel-stacks-using-the-slab-allocator.patch b/debian/patches/upstreamme0002-kern-allocate-kernel-stacks-using-the-slab-allocator.patch
deleted file mode 100644
index d688be7..0000000
--- a/debian/patches/upstreamme0002-kern-allocate-kernel-stacks-using-the-slab-allocator.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From c077233ee4f85a569cd05f557a1178977903b113 Mon Sep 17 00:00:00 2001
-From: Justus Winter <4winter@informatik.uni-hamburg.de>
-Date: Thu, 2 Jul 2015 16:20:44 +0200
-Subject: [PATCH gnumach 2/2] kern: allocate kernel stacks using the slab
- allocator
-
-* kern/slab.c (kmem_cache_init): Relax alignment restriction.
-* kern/thread.c (stack_cache): New variable.
-(stack_alloc): Use the slab allocator.
-(stack_collect): Adjust accordingly.
-(thread_init): Initialize `stack_cache'.
----
- kern/slab.c | 1 -
- kern/thread.c | 29 +++++++++++++++++++----------
- 2 files changed, 19 insertions(+), 11 deletions(-)
-
-diff --git a/kern/slab.c b/kern/slab.c
-index 60378b5..32469df 100644
---- a/kern/slab.c
-+++ b/kern/slab.c
-@@ -800,7 +800,6 @@ void kmem_cache_init(struct kmem_cache *cache, const char *name,
-
- assert(obj_size > 0);
- assert(ISP2(align));
-- assert(align < PAGE_SIZE);
-
- buf_size = P2ROUND(obj_size, align);
-
-diff --git a/kern/thread.c b/kern/thread.c
-index 1f47553..36a5a92 100644
---- a/kern/thread.c
-+++ b/kern/thread.c
-@@ -165,6 +165,11 @@ boolean_t stack_alloc_try(
- }
-
- /*
-+ * We allocate kernel stacks using the slab allocator.
-+ */
-+static struct kmem_cache stack_cache;
-+
-+/*
- * stack_alloc:
- *
- * Allocate a kernel stack for a thread.
-@@ -195,15 +200,10 @@ kern_return_t stack_alloc(
- (void) splx(s);
-
- if (stack == 0) {
-- kern_return_t kr;
-- /*
-- * Kernel stacks should be naturally aligned,
-- * so that it is easy to find the starting/ending
-- * addresses of a stack given an address in the middle.
-- */
-- kr = kmem_alloc_aligned(kmem_map, &stack, KERNEL_STACK_SIZE);
-- if (kr != KERN_SUCCESS)
-- return kr;
-+ stack = kmem_cache_alloc(&stack_cache);
-+ assert ((stack & (KERNEL_STACK_SIZE-1)) == 0);
-+ if (stack == 0)
-+ return KERN_RESOURCE_SHORTAGE;
-
- #if MACH_DEBUG
- stack_init(stack);
-@@ -265,7 +265,7 @@ void stack_collect(void)
- #if MACH_DEBUG
- stack_finalize(stack);
- #endif /* MACH_DEBUG */
-- kmem_free(kmem_map, stack, KERNEL_STACK_SIZE);
-+ kmem_cache_free(&stack_cache, stack);
-
- s = splsched();
- stack_lock();
-@@ -301,6 +301,15 @@ void thread_init(void)
- NULL, NULL, NULL, 0);
-
- /*
-+ * Kernel stacks should be naturally aligned, so that it
-+ * is easy to find the starting/ending addresses of a
-+ * stack given an address in the middle.
-+ */
-+ kmem_cache_init(&stack_cache, "stack",
-+ KERNEL_STACK_SIZE, KERNEL_STACK_SIZE,
-+ NULL, NULL, NULL, 0);
-+
-+ /*
- * Fill in a template thread for fast initialization.
- * [Fields that must be (or are typically) reset at
- * time of creation are so noted.]
---
-2.1.4
-