Home
last modified time | relevance | path

Searched refs:tails (Results 1 – 6 of 6) sorted by relevance

/linux/kernel/rcu/
H A Drcu_segcblist.c242 BUILD_BUG_ON(ARRAY_SIZE(rsclp->tails) != ARRAY_SIZE(rsclp->gp_seq)); in rcu_segcblist_init()
245 rsclp->tails[i] = &rsclp->head; in rcu_segcblist_init()
270 &rsclp->head != READ_ONCE(rsclp->tails[RCU_DONE_TAIL]); in rcu_segcblist_ready_cbs()
304 return *rsclp->tails[RCU_DONE_TAIL]; in rcu_segcblist_first_pend_cb()
335 WRITE_ONCE(*rsclp->tails[RCU_NEXT_TAIL], rhp); in rcu_segcblist_enqueue()
336 WRITE_ONCE(rsclp->tails[RCU_NEXT_TAIL], &rhp->next); in rcu_segcblist_enqueue()
363 WRITE_ONCE(*rsclp->tails[i], rhp); in rcu_segcblist_entrain()
365 WRITE_ONCE(rsclp->tails[i], &rhp->next); in rcu_segcblist_entrain()
383 WRITE_ONCE(rsclp->head, *rsclp->tails[RCU_DONE_TAIL]); in rcu_segcblist_extract_done_cbs()
384 WRITE_ONCE(*rsclp->tails[RCU_DONE_TAIL], NULL); in rcu_segcblist_extract_done_cbs()
[all …]
H A Drcu_segcblist.h105 return !READ_ONCE(*READ_ONCE(rsclp->tails[seg])); in rcu_segcblist_restempty()
115 return &rsclp->head == rsclp->tails[RCU_DONE_TAIL]; in rcu_segcblist_segempty()
116 return rsclp->tails[seg - 1] == rsclp->tails[seg]; in rcu_segcblist_segempty()
/linux/include/linux/
H A Drcu_segcblist.h192 struct rcu_head **tails[RCU_CBLIST_NSEGS]; member
206 .tails[RCU_DONE_TAIL] = &n.head, \
207 .tails[RCU_WAIT_TAIL] = &n.head, \
208 .tails[RCU_NEXT_READY_TAIL] = &n.head, \
209 .tails[RCU_NEXT_TAIL] = &n.head, \
/linux/Documentation/RCU/Design/Data-Structures/
H A DData-Structures.rst716 9 struct rcu_head **tails[RCU_CBLIST_NSEGS];
736 Each element of the ``->tails[]`` array references the ``->next``
743 ``->head`` pointer, the ``->tails[]`` array, and the callbacks is shown
749 in the list. The ``->tails[RCU_DONE_TAIL]`` array element references the
751 ready to invoke. The ``->tails[RCU_WAIT_TAIL]`` array element references
755 ``->tails[RCU_NEXT_READY_TAIL]`` array element references the same RCU
756 callback that ``->tails[RCU_WAIT_TAIL]`` does, which indicates that
758 ``->tails[RCU_NEXT_TAIL]`` array element references CB 4's ``->next``
761 ``->tails[RCU_NEXT_TAIL]`` array element always references the last RCU
766 ``->tails[RCU_NEXT_TAIL]`` array element: It can be ``NULL`` when this
/linux/drivers/bluetooth/
H A Dhci_bcm4377.c813 __le16 *tails = bcm4377->ring_state->completion_ring_tail; in bcm4377_poll_completion_ring() local
818 tail = le16_to_cpu(tails[ring->ring_id]); in bcm4377_poll_completion_ring()
834 tails[ring->ring_id] = cpu_to_le16(tail); in bcm4377_poll_completion_ring()
/linux/Documentation/driver-api/
H A Dxillybus.rst291 filled buffers being sent) and a latency held fairly low for tails of data.