Lines Matching full:tail
36 * @tail: tail sequence of the local ring array (to append at)
48 * head and tail, typed as uint32_t: [0, 2^32), so only lower bits (mask)
49 * of head and tail are used as the actual position in the ring array. In
55 uint32_t tail; member
195 uint32_t head, tail; in __objpool_try_add_slot() local
197 /* loading tail and head as a local snapshot, tail first */ in __objpool_try_add_slot()
198 tail = READ_ONCE(slot->tail); in __objpool_try_add_slot()
203 WARN_ON_ONCE(tail - head > pool->nr_objs); in __objpool_try_add_slot()
204 } while (!try_cmpxchg_acquire(&slot->tail, &tail, tail + 1)); in __objpool_try_add_slot()
206 /* now the tail position is reserved for the given obj */ in __objpool_try_add_slot()
207 WRITE_ONCE(slot->entries[tail & slot->mask], obj); in __objpool_try_add_slot()
209 smp_store_release(&slot->last, tail + 1); in __objpool_try_add_slot()