summaryrefslogtreecommitdiff
path: root/ipc
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2014-12-10 21:52:40 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-09-14 14:45:06 +0200
commit93833bb0fe0d1e87112a944d0ae0288ba695fa51 (patch)
tree77881ee1b3c1f01fc1b51d566ca30655e7d8d378 /ipc
parentee90a004a1a20a9c12dd45b896bfe8ffff2746a0 (diff)
kern/slab: directmap update
The main impact of the direct physical mapping on the kmem module is the slab size computation. The page allocator requires the allocation size to be a power-of-two above the page size since it uses the buddy memory allocation algorithm. Custom slab allocation functions are no longer needed since the only user was the kentry area, which has been removed recently. The KMEM_CACHE_NOCPUPOOL flag is also no longer needed since CPU pools, which are allocated from a kmem cache, can now always be allocated out of the direct physical mapping.
Diffstat (limited to 'ipc')
-rw-r--r--ipc/ipc_init.c30
-rw-r--r--ipc/ipc_marequest.c6
2 files changed, 23 insertions, 13 deletions
diff --git a/ipc/ipc_init.c b/ipc/ipc_init.c
index 2c58a6e..b7483d4 100644
--- a/ipc/ipc_init.c
+++ b/ipc/ipc_init.c
@@ -72,17 +72,25 @@ ipc_bootstrap(void)
ipc_port_timestamp_lock_init();
ipc_port_timestamp_data = 0;
- kmem_cache_init(&ipc_space_cache, "ipc_space",
- sizeof(struct ipc_space), 0, NULL, NULL, NULL, 0);
-
- kmem_cache_init(&ipc_entry_cache, "ipc_entry",
- sizeof(struct ipc_entry), 0, NULL, NULL, NULL, 0);
-
- kmem_cache_init(&ipc_object_caches[IOT_PORT], "ipc_port",
- sizeof(struct ipc_port), 0, NULL, NULL, NULL, 0);
-
- kmem_cache_init(&ipc_object_caches[IOT_PORT_SET], "ipc_pset",
- sizeof(struct ipc_pset), 0, NULL, NULL, NULL, 0);
+ kmem_cache_init (&ipc_space_cache,
+ "ipc_space",
+ sizeof(struct ipc_space), 0,
+ NULL, 0);
+
+ kmem_cache_init (&ipc_entry_cache,
+ "ipc_entry",
+ sizeof(struct ipc_entry), 0,
+ NULL, 0);
+
+ kmem_cache_init (&ipc_object_caches[IOT_PORT],
+ "ipc_port",
+ sizeof(struct ipc_port), 0,
+ NULL, 0);
+
+ kmem_cache_init (&ipc_object_caches[IOT_PORT_SET],
+ "ipc_pset",
+ sizeof(struct ipc_pset), 0,
+ NULL, 0);
/* create special spaces */
diff --git a/ipc/ipc_marequest.c b/ipc/ipc_marequest.c
index ded1711..ab4d8fe 100644
--- a/ipc/ipc_marequest.c
+++ b/ipc/ipc_marequest.c
@@ -136,8 +136,10 @@ ipc_marequest_init(void)
bucket->imarb_head = IMAR_NULL;
}
- kmem_cache_init(&ipc_marequest_cache, "ipc_marequest",
- sizeof(struct ipc_marequest), 0, NULL, NULL, NULL, 0);
+ kmem_cache_init (&ipc_marequest_cache,
+ "ipc_marequest",
+ sizeof(struct ipc_marequest), 0,
+ NULL, 0);
}
/*