Lines Matching refs:RCU_DONE_TAIL
103 for (i = RCU_DONE_TAIL; i < RCU_CBLIST_NSEGS; i++)
281 &rsclp->head != READ_ONCE(rsclp->tails[RCU_DONE_TAIL]);
291 !rcu_segcblist_restempty(rsclp, RCU_DONE_TAIL);
315 return *rsclp->tails[RCU_DONE_TAIL];
370 for (i = RCU_NEXT_TAIL; i > RCU_DONE_TAIL; i--)
392 rclp->len = rcu_segcblist_get_seglen(rsclp, RCU_DONE_TAIL);
394 WRITE_ONCE(rsclp->head, *rsclp->tails[RCU_DONE_TAIL]);
395 WRITE_ONCE(*rsclp->tails[RCU_DONE_TAIL], NULL);
396 rclp->tail = rsclp->tails[RCU_DONE_TAIL];
397 for (i = RCU_CBLIST_NSEGS - 1; i >= RCU_DONE_TAIL; i--)
398 if (rsclp->tails[i] == rsclp->tails[RCU_DONE_TAIL])
400 rcu_segcblist_set_seglen(rsclp, RCU_DONE_TAIL, 0);
418 *rclp->tail = *rsclp->tails[RCU_DONE_TAIL];
420 WRITE_ONCE(*rsclp->tails[RCU_DONE_TAIL], NULL);
421 for (i = RCU_DONE_TAIL + 1; i < RCU_CBLIST_NSEGS; i++) {
423 WRITE_ONCE(rsclp->tails[i], rsclp->tails[RCU_DONE_TAIL]);
449 rcu_segcblist_add_seglen(rsclp, RCU_DONE_TAIL, rclp->len);
452 for (i = RCU_DONE_TAIL; i < RCU_CBLIST_NSEGS; i++)
485 if (rcu_segcblist_restempty(rsclp, RCU_DONE_TAIL))
490 * are ready to invoke, and put them into the RCU_DONE_TAIL segment.
495 WRITE_ONCE(rsclp->tails[RCU_DONE_TAIL], rsclp->tails[i]);
496 rcu_segcblist_move_seglen(rsclp, i, RCU_DONE_TAIL);
505 WRITE_ONCE(rsclp->tails[j], rsclp->tails[RCU_DONE_TAIL]);
542 if (rcu_segcblist_restempty(rsclp, RCU_DONE_TAIL))
553 for (i = RCU_NEXT_READY_TAIL; i > RCU_DONE_TAIL; i--)