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
|