arena: make 'name' a const char * I'd like to build an arena from Linux code, which tends to use 'const char*' more aggressively than we did. Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
diff --git a/kern/include/arena.h b/kern/include/arena.h index 049674c..1950cc2 100644 --- a/kern/include/arena.h +++ b/kern/include/arena.h
@@ -94,7 +94,8 @@ * units of @quantum. If @source is provided, the arena will alloc new segments * from @source, calling @afunc to alloc and @ffunc to free. Uses a slab * allocator for allocations up to @qcache_max (0 = no caching). */ -struct arena *arena_create(char *name, void *base, size_t size, size_t quantum, +struct arena *arena_create(const char *name, void *base, size_t size, + size_t quantum, void *(*afunc)(struct arena *, size_t, int), void (*ffunc)(struct arena *, void *, size_t), struct arena *source, size_t qcache_max, int flags); @@ -124,7 +125,7 @@ /* Low-level memory allocator intefaces */ extern struct arena *base_arena; extern struct arena *kpages_arena; -struct arena *arena_builder(void *pgaddr, char *name, size_t quantum, +struct arena *arena_builder(void *pgaddr, const char *name, size_t quantum, void *(*afunc)(struct arena *, size_t, int), void (*ffunc)(struct arena *, void *, size_t), struct arena *source, size_t qcache_max);
diff --git a/kern/src/arena.c b/kern/src/arena.c index 30b1edb..00807ee 100644 --- a/kern/src/arena.c +++ b/kern/src/arena.c
@@ -133,8 +133,7 @@ } } -/* Helper to init. Split out from create so we can bootstrap. */ -static void arena_init(struct arena *arena, char *name, size_t quantum, +static void arena_init(struct arena *arena, const char *name, size_t quantum, void *(*afunc)(struct arena *, size_t, int), void (*ffunc)(struct arena *, void *, size_t), struct arena *source, size_t qcache_max) @@ -181,7 +180,8 @@ qunlock(&arenas_and_slabs_lock); } -struct arena *arena_create(char *name, void *base, size_t size, size_t quantum, +struct arena *arena_create(const char *name, void *base, size_t size, + size_t quantum, void *(*afunc)(struct arena *, size_t, int), void (*ffunc)(struct arena *, void *, size_t), struct arena *source, size_t qcache_max, int flags) @@ -1164,7 +1164,7 @@ * This will be used for each NUMA domain's base arena, kpages_arena, and * kmalloc_arena, since the normal arena_create() won't work yet (no kmalloc). */ -struct arena *arena_builder(void *pgaddr, char *name, size_t quantum, +struct arena *arena_builder(void *pgaddr, const char *name, size_t quantum, void *(*afunc)(struct arena *, size_t, int), void (*ffunc)(struct arena *, void *, size_t), struct arena *source, size_t qcache_max)