slab_cache_t Struct Reference
[generic]


Public Member Functions

 SPINLOCK_DECLARE (slablock)
 SPINLOCK_DECLARE (maglock)

Data Fields

char * name
link_t link
size_t size
int(* constructor )(void *obj, int kmflag)
int(* destructor )(void *obj)
int flags
__u8 order
int objects
atomic_t allocated_slabs
atomic_t allocated_objs
atomic_t cached_objs
atomic_t magazine_counter
link_t full_slabs
link_t partial_slabs
link_t magazines
slab_mag_cache_tmag_cache

Detailed Description

Definition at line 82 of file slab.h.


Member Function Documentation

SPINLOCK_DECLARE maglock   ) 
 

SPINLOCK_DECLARE slablock   ) 
 


Field Documentation

atomic_t allocated_objs
 

Definition at line 98 of file slab.h.

Referenced by _slab_free(), slab_alloc(), and slab_print_list().

atomic_t allocated_slabs
 

Definition at line 97 of file slab.h.

Referenced by slab_print_list(), slab_space_alloc(), and slab_space_free().

atomic_t cached_objs
 

Definition at line 99 of file slab.h.

Referenced by magazine_destroy(), magazine_obj_get(), magazine_obj_put(), and slab_print_list().

int(* constructor)(void *obj, int kmflag)
 

Referenced by slab_obj_create().

int(* destructor)(void *obj)
 

Referenced by slab_obj_destroy().

int flags
 

Flags changing behaviour of cache

Definition at line 90 of file slab.h.

Referenced by _slab_free(), _slab_reclaim(), badness(), comp_objects(), slab_alloc(), slab_cache_destroy(), slab_enable_cpucache(), slab_print_list(), slab_space_alloc(), and slab_space_free().

link_t full_slabs
 

List of full slabs

Definition at line 103 of file slab.h.

Referenced by slab_cache_destroy(), and slab_obj_create().

link_t link
 

Definition at line 85 of file slab.h.

Referenced by slab_cache_destroy().

slab_mag_cache_t* mag_cache
 

CPU cache

Definition at line 111 of file slab.h.

Referenced by _slab_reclaim(), get_full_current_mag(), magazine_obj_get(), magazine_obj_put(), make_empty_current_mag(), make_magcache(), and slab_cache_destroy().

atomic_t magazine_counter
 

How many magazines in magazines list

Definition at line 100 of file slab.h.

Referenced by _slab_reclaim(), get_mag_from_cache(), and put_mag_to_cache().

link_t magazines
 

List o full magazines

Definition at line 107 of file slab.h.

Referenced by get_mag_from_cache(), and put_mag_to_cache().

char* name
 

Definition at line 83 of file slab.h.

Referenced by slab_print_list().

int objects
 

Number of objects that fit in

Definition at line 94 of file slab.h.

Referenced by slab_obj_destroy(), slab_print_list(), and slab_space_alloc().

__u8 order
 

Order of frames to be allocated

Definition at line 93 of file slab.h.

Referenced by badness(), comp_objects(), slab_print_list(), slab_space_alloc(), and slab_space_free().

link_t partial_slabs
 

List of partial slabs

Definition at line 104 of file slab.h.

Referenced by slab_cache_destroy(), slab_obj_create(), and slab_obj_destroy().

size_t size
 

Size of slab position - align_up(sizeof(obj))

Definition at line 87 of file slab.h.

Referenced by badness(), comp_objects(), slab_obj_create(), slab_obj_destroy(), slab_print_list(), and slab_space_alloc().


Generated on Sun Jun 18 17:30:31 2006 for HelenOS Kernel (ppc64) by  doxygen 1.4.6