Remove kmalloc caches above PGSIZE
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 3 Nov 2016 14:59:46 +0000 (10:59 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 29 Nov 2016 16:27:40 +0000 (11:27 -0500)
Now that kpages_arena has qcaches, there's no need to have kmalloc
support caches of the same size.  We'll just call the memory allocator
directly.  Kmalloc still has its slab caches for sizes from [64, 2048].

Note that these sizes include the kmalloc_tag, which means that if you
ask for a power-of-two from kmalloc, internally it will ask for the next
higher power-of-two.  It has always been this way.  Eventually, I'd like
to get rid of the refcnt, so we can just use an arena directly and
ignore the alignment issues.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/kmalloc.h

index 189667c..bd6da19 100644 (file)
@@ -10,7 +10,7 @@
 #include <ros/common.h>
 #include <kref.h>
 
-#define NUM_KMALLOC_CACHES 13
+#define NUM_KMALLOC_CACHES 6
 #define KMALLOC_ALIGNMENT 16
 #define KMALLOC_SMALLEST (sizeof(struct kmalloc_tag) << 1)
 #define KMALLOC_LARGEST KMALLOC_SMALLEST << NUM_KMALLOC_CACHES