Lines Matching refs:pool
121 int objpool_init(struct objpool_head *pool, int nr_objs, int object_size,
126 static inline void *__objpool_try_get_slot(struct objpool_head *pool, int cpu) in __objpool_try_get_slot() argument
128 struct objpool_slot *slot = pool->cpu_slots[cpu]; in __objpool_try_get_slot()
147 if (READ_ONCE(slot->last) - head - 1 >= pool->nr_objs) { in __objpool_try_get_slot()
169 static inline void *objpool_pop(struct objpool_head *pool) in objpool_pop() argument
179 for (i = 0; i < pool->nr_possible_cpus; i++) { in objpool_pop()
180 obj = __objpool_try_get_slot(pool, cpu); in objpool_pop()
192 __objpool_try_add_slot(void *obj, struct objpool_head *pool, int cpu) in __objpool_try_add_slot() argument
194 struct objpool_slot *slot = pool->cpu_slots[cpu]; in __objpool_try_add_slot()
203 WARN_ON_ONCE(tail - head > pool->nr_objs); in __objpool_try_add_slot()
222 static inline int objpool_push(void *obj, struct objpool_head *pool) in objpool_push() argument
229 rc = __objpool_try_add_slot(obj, pool, raw_smp_processor_id()); in objpool_push()
252 int objpool_drop(void *obj, struct objpool_head *pool);
258 void objpool_free(struct objpool_head *pool);
276 void objpool_fini(struct objpool_head *pool);