Lines Matching defs:element
18 static void add_element(mempool_t *pool, void *element)
21 pool->elements[pool->curr_nr++] = element;
33 void *element = remove_element(pool);
34 pool->free(element, pool->pool_data);
44 * @alloc_fn: user-defined element-allocation function.
45 * @free_fn: user-defined element-freeing function.
86 void *element;
88 element = pool->alloc(GFP_KERNEL, pool->pool_data);
89 if (unlikely(!element)) {
93 add_element(pool, element);
117 void *element;
126 element = remove_element(pool);
128 pool->free(element, pool->pool_data);
156 element = pool->alloc(gfp_mask, pool->pool_data);
157 if (!element)
161 add_element(pool, element);
164 pool->free(element, pool->pool_data); /* Raced */
193 * mempool_alloc - allocate an element from a specific memory pool
205 void *element;
220 element = pool->alloc(gfp_temp, pool->pool_data);
221 if (likely(element != NULL))
222 return element;
226 element = remove_element(pool);
228 return element;
251 * mempool_free - return an element to the pool.
252 * @element: pool element pointer.
258 void mempool_free(void *element, mempool_t *pool)
266 add_element(pool, element);
273 pool->free(element, pool->pool_data);
287 void mempool_free_slab(void *element, void *pool_data)
290 kmem_cache_free(mem, element);
312 void mempool_kfree(void *element, void *pool_data)
314 kfree(element);
329 void mempool_free_pages(void *element, void *pool_data)
332 __free_pages(element, order);