Lines Matching refs:parent

27 	const struct assoc_array_ptr *cursor, *ptr, *parent;
89 /* Move up to the parent (may need to skip back over a shortcut) */
90 parent = READ_ONCE(node->back_pointer); /* Address dependency. */
92 if (parent == stop)
95 if (assoc_array_ptr_is_shortcut(parent)) {
96 shortcut = assoc_array_ptr_to_shortcut(parent);
97 cursor = parent;
98 parent = READ_ONCE(shortcut->back_pointer); /* Address dependency. */
100 if (parent == stop)
104 /* Ascend to next slot in parent node */
105 cursor = parent;
348 struct assoc_array_ptr *cursor, *parent = NULL;
365 BUG_ON(shortcut->back_pointer != parent);
367 parent = cursor;
375 BUG_ON(node->back_pointer != parent);
386 parent = cursor;
397 parent = node->back_pointer;
401 if (!parent)
404 /* Move back up to the parent (may need to free a shortcut on
406 if (assoc_array_ptr_is_shortcut(parent)) {
407 shortcut = assoc_array_ptr_to_shortcut(parent);
409 cursor = parent;
410 parent = shortcut->back_pointer;
414 if (!parent)
417 BUG_ON(!assoc_array_ptr_is_node(parent));
420 /* Ascend to next slot in parent node */
421 pr_devel("ascend to %p[%d]\n", parent, slot);
422 cursor = parent;
844 * parent.
893 * shortcut if its parent slot number doesn't change - but that's a
924 * use memory barriers to make sure the parent slot number is
925 * changed before the back pointer (the parent slot number is
926 * irrelevant to the old parent shortcut).
1159 struct assoc_array_node *parent, *grandparent;
1181 parent = node;
1183 pr_devel("collapse subtree: %ld\n", parent->nr_leaves_on_branch);
1185 ptr = parent->back_pointer;
1197 parent = grandparent;
1206 if (has_meta || parent != node) {
1207 node = parent;