Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 788 → Rev 789

/kernel/trunk/generic/include/mm/slab.h
55,6 → 55,8
/* cache_create flags */
#define SLAB_CACHE_NOMAGAZINE 0x1 /**< Do not use per-cpu cache */
#define SLAB_CACHE_SLINSIDE 0x2 /**< Have control structure inside SLAB */
/** We add magazine cache later, if we have this flag */
#define SLAB_CACHE_MAGDEFERRED (0x4 | SLAB_CACHE_NOMAGAZINE)
 
typedef struct {
link_t link;
64,6 → 66,13
}slab_magazine_t;
 
typedef struct {
slab_magazine_t *current;
slab_magazine_t *last;
SPINLOCK_DECLARE(lock);
}slab_mag_cache_t;
 
 
typedef struct {
char *name;
 
link_t link;
92,11 → 101,7
SPINLOCK_DECLARE(maglock);
 
/** CPU cache */
struct {
slab_magazine_t *current;
slab_magazine_t *last;
SPINLOCK_DECLARE(lock);
}mag_cache[0];
slab_mag_cache_t *mag_cache;
}slab_cache_t;
 
extern slab_cache_t * slab_cache_create(char *name,
113,6 → 118,7
 
/** Initialize SLAB subsytem */
extern void slab_cache_init(void);
extern void slab_enable_cpucache(void);
 
/* KConsole debug */
extern void slab_print_list(void);
120,5 → 126,4
/* Malloc support */
extern void * kalloc(unsigned int size, int flags);
extern void kfree(void *obj);
 
#endif