Lines Matching refs:tails

150 	BUILD_BUG_ON(ARRAY_SIZE(rsclp->tails) != ARRAY_SIZE(rsclp->gp_seq));
153 rsclp->tails[i] = &rsclp->head;
185 &rsclp->head != READ_ONCE(rsclp->tails[RCU_DONE_TAIL]);
219 return *rsclp->tails[RCU_DONE_TAIL];
250 WRITE_ONCE(*rsclp->tails[RCU_NEXT_TAIL], rhp);
251 WRITE_ONCE(rsclp->tails[RCU_NEXT_TAIL], &rhp->next);
275 if (rsclp->tails[i] != rsclp->tails[i - 1])
277 WRITE_ONCE(*rsclp->tails[i], rhp);
279 WRITE_ONCE(rsclp->tails[i], &rhp->next);
311 WRITE_ONCE(rsclp->head, *rsclp->tails[RCU_DONE_TAIL]);
312 WRITE_ONCE(*rsclp->tails[RCU_DONE_TAIL], NULL);
313 rclp->tail = rsclp->tails[RCU_DONE_TAIL];
315 if (rsclp->tails[i] == rsclp->tails[RCU_DONE_TAIL])
316 WRITE_ONCE(rsclp->tails[i], &rsclp->head);
333 *rclp->tail = *rsclp->tails[RCU_DONE_TAIL];
334 rclp->tail = rsclp->tails[RCU_NEXT_TAIL];
335 WRITE_ONCE(*rsclp->tails[RCU_DONE_TAIL], NULL);
337 WRITE_ONCE(rsclp->tails[i], rsclp->tails[RCU_DONE_TAIL]);
365 if (&rsclp->head == rsclp->tails[i])
366 WRITE_ONCE(rsclp->tails[i], rclp->tail);
382 WRITE_ONCE(*rsclp->tails[RCU_NEXT_TAIL], rclp->head);
383 WRITE_ONCE(rsclp->tails[RCU_NEXT_TAIL], rclp->tail);
405 WRITE_ONCE(rsclp->tails[RCU_DONE_TAIL], rsclp->tails[i]);
414 WRITE_ONCE(rsclp->tails[j], rsclp->tails[RCU_DONE_TAIL]);
417 * Callbacks moved, so clean up the misordered ->tails[] pointers
423 if (rsclp->tails[j] == rsclp->tails[RCU_NEXT_TAIL])
425 WRITE_ONCE(rsclp->tails[j], rsclp->tails[i]);
462 if (rsclp->tails[i] != rsclp->tails[i - 1] &&
498 WRITE_ONCE(rsclp->tails[i], rsclp->tails[RCU_NEXT_TAIL]);