Lines Matching +full:re +full:- +full:initialization

1 /* SPDX-License-Identifier: GPL-2.0 */
8 * RCU-protected list version
14 * hlist_nulls_del_init_rcu - deletes entry from hash list with re-initialization
28 * list-mutation primitive, such as hlist_nulls_add_head_rcu() or
30 * perfectly legal to run concurrently with the _rcu list-traversal
37 WRITE_ONCE(n->pprev, NULL); in hlist_nulls_del_init_rcu()
42 * hlist_nulls_first_rcu - returns the first element of the hash list.
46 (*((struct hlist_nulls_node __rcu __force **)&(head)->first))
49 * hlist_nulls_next_rcu - returns the element of the list after @node.
53 (*((struct hlist_nulls_node __rcu __force **)&(node)->next))
56 * hlist_nulls_del_rcu - deletes entry from hash list without re-initialization
68 * with another list-mutation primitive, such as hlist_nulls_add_head_rcu()
71 * the _rcu list-traversal primitives, such as
77 WRITE_ONCE(n->pprev, LIST_POISON2); in hlist_nulls_del_rcu()
91 * with another list-mutation primitive, such as hlist_nulls_add_head_rcu()
94 * the _rcu list-traversal primitives, such as
95 * hlist_nulls_for_each_entry_rcu(), used to prevent memory-consistency
97 * list-traversal primitive must be guarded by rcu_read_lock().
102 struct hlist_nulls_node *first = h->first; in hlist_nulls_add_head_rcu()
104 WRITE_ONCE(n->next, first); in hlist_nulls_add_head_rcu()
105 WRITE_ONCE(n->pprev, &h->first); in hlist_nulls_add_head_rcu()
108 WRITE_ONCE(first->pprev, &n->next); in hlist_nulls_add_head_rcu()
122 * with another list-mutation primitive, such as hlist_nulls_add_head_rcu()
125 * the _rcu list-traversal primitives, such as
126 * hlist_nulls_for_each_entry_rcu(), used to prevent memory-consistency
128 * list-traversal primitive must be guarded by rcu_read_lock().
136 for (i = h->first; !is_a_nulls(i); i = i->next) in hlist_nulls_add_tail_rcu()
140 WRITE_ONCE(n->next, last->next); in hlist_nulls_add_tail_rcu()
141 n->pprev = &last->next; in hlist_nulls_add_tail_rcu()
151 n->pprev = &n->next; in hlist_nulls_add_fake()
152 n->next = (struct hlist_nulls_node *)NULLS_MARKER(NULL); in hlist_nulls_add_fake()
156 * hlist_nulls_for_each_entry_rcu - iterate over rcu list of given type
164 * [1] Documentation/memory-barriers.txt around line 1533
175 * hlist_nulls_for_each_entry_safe -