summaryrefslogtreecommitdiff
path: root/debian/patches/vm-external-fixes0002-vm-allocate-a-large-map-for-all-objects-larger-than-.patch
blob: 87f2bfc3f02b960f9d5f3d31780f7331322a2a04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From ef62b420194e5cd5c5957a672061c18bcedb4b49 Mon Sep 17 00:00:00 2001
From: Justus Winter <4winter@informatik.uni-hamburg.de>
Date: Sun, 7 Feb 2016 12:56:42 +0100
Subject: [PATCH gnumach 2/3] vm: allocate a large map for all objects larger
 than SMALL_SIZE

* vm/vm_external.c (vm_external_create): Allocate a large map for all
objects larger than SMALL_SIZE.  'vm_external_state_{g,s}et' can deal
with offsets larger than 'LARGE_SIZE', so currently objects larger
than 'LARGE_SIZE' are missing out on the optimization.
---
 vm/vm_external.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vm/vm_external.c b/vm/vm_external.c
index 097a9b1..7584a2b 100644
--- a/vm/vm_external.c
+++ b/vm/vm_external.c
@@ -69,7 +69,7 @@ vm_external_t	vm_external_create(vm_offset_t size)
 		result->existence_map =
 		 (char *) kmem_cache_alloc(&vm_object_small_existence_map_cache);
 		result->existence_size = SMALL_SIZE;
-	} else if (bytes <= LARGE_SIZE) {
+	} else {
 		result->existence_map =
 		 (char *) kmem_cache_alloc(&vm_object_large_existence_map_cache);
 		result->existence_size = LARGE_SIZE;
-- 
2.1.4