From b917ebe97373681a4a43c73d64dee4c256e79329 Mon Sep 17 00:00:00 2001 From: PoliEcho Date: Thu, 24 Sep 2026 20:46:08 +0200 Subject: [PATCH] used brain (kmalloc.h) improve type clarity --- kernel/include/kmalloc.h | 77 ++++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 34 deletions(-) diff --git a/kernel/include/kmalloc.h b/kernel/include/kmalloc.h index f594ace..8573c7c 100644 --- a/kernel/include/kmalloc.h +++ b/kernel/include/kmalloc.h @@ -19,45 +19,54 @@ void* kcalloc(size_t count, size_t size); #define KMALLOC_MAX_SIZE 17 #define LOWEST_POWER 3 -union per_cpu_freelist_cache { - void** freelists[KMALLOC_MAX_SIZE]; +struct freelist { + struct freelist* nextnode; +}; + +struct partialy_freelist { + struct freelist* freelist_nextnode; + struct partialy_freelist* partialy_freelist_nextnode; +}; + +union freelists_list { + struct freelist* freelists[KMALLOC_MAX_SIZE]; struct { - void** kmalloc_8; - void** kmalloc_16; - void** kmalloc_32; - void** kmalloc_64; - void** kmalloc_128; - void** kmalloc_256; - void** kmalloc_512; - void** kmalloc_1024; - void** kmalloc_2048; - void** kmalloc_4096; - void** kmalloc_8192; - void** kmalloc_16384; - void** kmalloc_32768; - void** kmalloc_65536; - void** kmalloc_131072; + struct freelist* kmalloc_8; + struct freelist* kmalloc_16; + struct freelist* kmalloc_32; + struct freelist* kmalloc_64; + struct freelist* kmalloc_128; + struct freelist* kmalloc_256; + struct freelist* kmalloc_512; + struct freelist* kmalloc_1024; + struct freelist* kmalloc_2048; + struct freelist* kmalloc_4096; + struct freelist* kmalloc_8192; + struct freelist* kmalloc_16384; + struct freelist* kmalloc_32768; + struct freelist* kmalloc_65536; + struct freelist* kmalloc_131072; }; }; -union partial_list { - void** freelists[KMALLOC_MAX_SIZE]; +union partialy_freelists_list { + struct partialy_freelist* partialy_freelists[KMALLOC_MAX_SIZE]; struct { - void** kmalloc_8; - void** kmalloc_16; - void** kmalloc_32; - void** kmalloc_64; - void** kmalloc_128; - void** kmalloc_256; - void** kmalloc_512; - void** kmalloc_1024; - void** kmalloc_2048; - void** kmalloc_4096; - void** kmalloc_8192; - void** kmalloc_16384; - void** kmalloc_32768; - void** kmalloc_65536; - void** kmalloc_131072; + struct partialy_freelist* kmalloc_8; + struct partialy_freelist* kmalloc_16; + struct partialy_freelist* kmalloc_32; + struct partialy_freelist* kmalloc_64; + struct partialy_freelist* kmalloc_128; + struct partialy_freelist* kmalloc_256; + struct partialy_freelist* kmalloc_512; + struct partialy_freelist* kmalloc_1024; + struct partialy_freelist* kmalloc_2048; + struct partialy_freelist* kmalloc_4096; + struct partialy_freelist* kmalloc_8192; + struct partialy_freelist* kmalloc_16384; + struct partialy_freelist* kmalloc_32768; + struct partialy_freelist* kmalloc_65536; + struct partialy_freelist* kmalloc_131072; }; };