Lines Matching refs:parent

75 slab_get_element(struct slab_parent_pool *parent,  in slab_get_element()  argument
79 ((uint8_t*)&page[1] + (parent->element_size * index)); in slab_get_element()
105 slab_create_parent(struct slab_parent_pool *parent, in slab_create_parent() argument
109 simple_mtx_init(&parent->mutex, mtx_plain); in slab_create_parent()
110 parent->element_size = ALIGN_POT(sizeof(struct slab_element_header) + item_size, in slab_create_parent()
112 parent->num_elements = num_items; in slab_create_parent()
113 parent->item_size = item_size; in slab_create_parent()
117 slab_destroy_parent(struct slab_parent_pool *parent) in slab_destroy_parent() argument
119 simple_mtx_destroy(&parent->mutex); in slab_destroy_parent()
126 struct slab_parent_pool *parent) in slab_create_child() argument
128 pool->parent = parent; in slab_create_child()
142 if (!pool->parent) in slab_destroy_child()
145 simple_mtx_lock(&pool->parent->mutex); in slab_destroy_child()
150 p_atomic_set(&page->u.num_remaining, pool->parent->num_elements); in slab_destroy_child()
152 for (unsigned i = 0; i < pool->parent->num_elements; ++i) { in slab_destroy_child()
153 struct slab_element_header *elt = slab_get_element(pool->parent, page, i); in slab_destroy_child()
164 simple_mtx_unlock(&pool->parent->mutex); in slab_destroy_child()
173 pool->parent = NULL; in slab_destroy_child()
180 pool->parent->num_elements * pool->parent->element_size); in slab_add_new_page()
185 for (unsigned i = 0; i < pool->parent->num_elements; ++i) { in slab_add_new_page()
186 struct slab_element_header *elt = slab_get_element(pool->parent, page, i); in slab_add_new_page()
215 simple_mtx_lock(&pool->parent->mutex); in slab_alloc()
218 simple_mtx_unlock(&pool->parent->mutex); in slab_alloc()
242 memset(r, 0, pool->parent->item_size); in slab_zalloc()
273 if (pool->parent) in slab_free()
274 simple_mtx_lock(&pool->parent->mutex); in slab_free()
285 if (pool->parent) in slab_free()
286 simple_mtx_unlock(&pool->parent->mutex); in slab_free()
288 if (pool->parent) in slab_free()
289 simple_mtx_unlock(&pool->parent->mutex); in slab_free()
317 slab_destroy_parent(&mempool->parent); in slab_destroy()
331 slab_create_parent(&mempool->parent, item_size, num_items); in slab_create()
332 slab_create_child(&mempool->child, &mempool->parent); in slab_create()