kernel: initial <512 byte object only slab

This commit is contained in:
Matheus
2023-04-18 22:22:08 -03:00
parent 156161e3aa
commit f9d1c046b7
3 changed files with 152 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#ifndef _SLAB_H
#define _SLAB_H
#include <stddef.h>
#include <stdint.h>
typedef struct slab_t {
struct slab_t *next;
struct slab_t *prev;
size_t used;
void **free;
} slab_t;
typedef struct scache_t {
// TODO lock
void (*ctor)(struct scache_t *cache, void *obj);
void (*dtor)(struct scache_t *cache, void *obj);
slab_t *full;
slab_t *partial;
slab_t *empty;
size_t size;
size_t truesize;
size_t alignment;
size_t slabobjcount;
} scache_t;
void slab_init();
#endif