Searched refs:tails (Results 1 – 6 of 6) sorted by relevance
| /linux/kernel/rcu/ |
| H A D | rcu_segcblist.c | 242 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 D | rcu_segcblist.h | 105 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 D | rcu_segcblist.h | 192 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 D | Data-Structures.rst | 716 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 D | hci_bcm4377.c | 813 __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 D | xillybus.rst | 291 filled buffers being sent) and a latency held fairly low for tails of data.
|