From f5f11192a1d6f336ce30a60fb9085245d89e30ec Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Tue, 10 Sep 2024 17:03:43 -0400 Subject: [PATCH] kernel/slab: Add some more information to slab_object KDL command. --- src/system/kernel/slab/Slab.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/system/kernel/slab/Slab.cpp b/src/system/kernel/slab/Slab.cpp index 4fd84feaee..e306eb303a 100644 --- a/src/system/kernel/slab/Slab.cpp +++ b/src/system/kernel/slab/Slab.cpp @@ -350,7 +350,18 @@ dump_object_info(int argc, char* argv[]) } kprintf("address %p\n", object); - kprintf("\tobject_cache\t%p (%s)\n", cache, cache->name); + kprintf("\tslab_cache: %p (%s)\n", cache, cache->name); + + MutexTryLocker cacheLocker(cache->lock); + if (cacheLocker.IsLocked()) { + slab* slab = cache->ObjectSlab(object); + const char* slabType = cache->empty.Contains(slab) ? "empty" + : cache->partial.Contains(slab) ? "partial" + : cache->full.Contains(slab) ? "full" : NULL; + + kprintf("\tobject is in %s slab: %p\n", slabType, slab); + } + return 0; }