Lines Matching refs:prev
25 WRITE_ONCE(list->prev, list); in INIT_LIST_HEAD_RCU()
43 #define list_bidir_prev_rcu(list) (*((struct list_head __rcu **)(&(list)->prev)))
53 #define list_tail_rcu(head) (*((struct list_head __rcu **)(&(head)->prev)))
88 struct list_head *prev, struct list_head *next) in __list_add_rcu() argument
90 if (!__list_add_valid(new, prev, next)) in __list_add_rcu()
94 new->prev = prev; in __list_add_rcu()
95 rcu_assign_pointer(list_next_rcu(prev), new); in __list_add_rcu()
96 next->prev = new; in __list_add_rcu()
139 __list_add_rcu(new, head->prev, head); in list_add_tail_rcu()
169 entry->prev = LIST_POISON2; in list_del_rcu()
248 new->prev = old->prev; in list_replace_rcu()
249 rcu_assign_pointer(list_next_rcu(new->prev), new); in list_replace_rcu()
250 new->next->prev = new; in list_replace_rcu()
251 old->prev = LIST_POISON2; in list_replace_rcu()
274 struct list_head *prev, in __list_splice_init_rcu() argument
279 struct list_head *last = list->prev; in __list_splice_init_rcu()
309 rcu_assign_pointer(list_next_rcu(prev), first); in __list_splice_init_rcu()
310 first->prev = prev; in __list_splice_init_rcu()
311 next->prev = last; in __list_splice_init_rcu()
341 __list_splice_init_rcu(list, head->prev, head, sync); in list_splice_tail_init_rcu()
728 struct hlist_node *prev) in hlist_add_behind_rcu() argument
730 n->next = prev->next; in hlist_add_behind_rcu()
731 WRITE_ONCE(n->pprev, &prev->next); in hlist_add_behind_rcu()
732 rcu_assign_pointer(hlist_next_rcu(prev), n); in hlist_add_behind_rcu()