arena: let the kernel call kmemstat() For debugging. The user's interface is #mem/kmemstat. Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
diff --git a/kern/drivers/dev/mem.c b/kern/drivers/dev/mem.c index 8ea2189..946452e 100644 --- a/kern/drivers/dev/mem.c +++ b/kern/drivers/dev/mem.c
@@ -335,6 +335,13 @@ return sza; } +void kmemstat(void) +{ + struct sized_alloc *sza = build_kmemstat(); + + printk("%s", sza->buf); +} + static struct chan *mem_open(struct chan *c, int omode) { if (c->qid.type & QTDIR) {
diff --git a/kern/include/arena.h b/kern/include/arena.h index 1950cc2..a6e64d5 100644 --- a/kern/include/arena.h +++ b/kern/include/arena.h
@@ -111,6 +111,7 @@ size_t arena_amt_free(struct arena *arena); size_t arena_amt_total(struct arena *arena); +void kmemstat(void); /* All lists that track the existence of arenas, slabs, and the connections * between them are tracked by a global qlock. For the most part, slabs/arenas