Lines Matching refs:enode

466 enum maple_type mas_parent_type(struct ma_state *mas, struct maple_enode *enode)  in mas_parent_type()  argument
470 p_type = (unsigned long)mte_to_node(enode)->parent; in mas_parent_type()
497 void mas_set_parent(struct ma_state *mas, struct maple_enode *enode, in mas_set_parent() argument
523 mte_to_node(enode)->parent = ma_parent_ptr(val); in mas_set_parent()
533 unsigned int mte_parent_slot(const struct maple_enode *enode) in mte_parent_slot() argument
535 unsigned long val = (unsigned long)mte_to_node(enode)->parent; in mte_parent_slot()
554 struct maple_node *mte_parent(const struct maple_enode *enode) in mte_parent() argument
557 (mte_to_node(enode)->parent) & ~MAPLE_NODE_MASK); in mte_parent()
582 static __always_inline bool mte_dead_node(const struct maple_enode *enode) in mte_dead_node() argument
586 node = mte_to_node(enode); in mte_dead_node()
922 static void mt_destroy_walk(struct maple_enode *enode, struct maple_tree *mt,
1975 struct maple_enode *enode) in mas_node_or_none() argument
1977 if (enode) { in mas_node_or_none()
1978 mas->node = enode; in mas_node_or_none()
2303 struct maple_enode *enode; in mas_topiary_node() local
2308 enode = tmp_mas->node; in mas_topiary_node()
2309 tmp = mte_to_node(enode); in mas_topiary_node()
2310 mte_set_node_dead(enode); in mas_topiary_node()
4261 struct maple_enode *enode; in mas_next_node() local
4293 enode = mas_slot(mas, slots, mas->offset); in mas_next_node()
4302 mas->node = enode; in mas_next_node()
4306 enode = mas_slot(mas, slots, 0); in mas_next_node()
4315 tmp = mte_to_node(enode); in mas_next_node()
4316 mt = mte_node_type(enode); in mas_next_node()
4322 mas->node = enode; in mas_next_node()
4852 unsigned char mte_dead_leaves(struct maple_enode *enode, struct maple_tree *mt, in mte_dead_leaves() argument
4860 for (offset = 0; offset < mt_slot_count(enode); offset++) { in mte_dead_leaves()
4883 static void __rcu **mte_dead_walk(struct maple_enode **enode, unsigned char offset) in mte_dead_walk() argument
4888 next = mte_to_node(*enode); in mte_dead_walk()
4890 *enode = ma_enode_ptr(next); in mte_dead_walk()
4891 node = mte_to_node(*enode); in mte_dead_walk()
4911 struct maple_enode *enode; in mt_free_walk() local
4921 enode = mt_mk_node(node, node->type); in mt_free_walk()
4922 slots = mte_dead_walk(&enode, 0); in mt_free_walk()
4923 node = mte_to_node(enode); in mt_free_walk()
4927 enode = node->piv_parent; in mt_free_walk()
4928 if (mte_to_node(enode) == node) in mt_free_walk()
4931 type = mte_node_type(enode); in mt_free_walk()
4932 slots = ma_slots(mte_to_node(enode), type); in mt_free_walk()
4936 slots = mte_dead_walk(&enode, offset); in mt_free_walk()
4937 node = mte_to_node(enode); in mt_free_walk()
4947 static inline void __rcu **mte_destroy_descend(struct maple_enode **enode, in mte_destroy_descend() argument
4951 struct maple_enode *next = *enode; in mte_destroy_descend()
4957 *enode = next; in mte_destroy_descend()
4958 node = mte_to_node(*enode); in mte_destroy_descend()
4959 type = mte_node_type(*enode); in mte_destroy_descend()
4965 mte_set_node_dead(*enode); in mte_destroy_descend()
4971 prev = *enode; in mte_destroy_descend()
4977 static void mt_destroy_walk(struct maple_enode *enode, struct maple_tree *mt, in mt_destroy_walk() argument
4981 struct maple_node *node = mte_to_node(enode); in mt_destroy_walk()
4984 if (mte_is_leaf(enode)) { in mt_destroy_walk()
4985 mte_set_node_dead(enode); in mt_destroy_walk()
4986 node->type = mte_node_type(enode); in mt_destroy_walk()
4990 start = enode; in mt_destroy_walk()
4991 slots = mte_destroy_descend(&enode, mt, start, 0); in mt_destroy_walk()
4992 node = mte_to_node(enode); // Updated in the above call. in mt_destroy_walk()
4998 node->slot_len = mte_dead_leaves(enode, mt, slots); in mt_destroy_walk()
5002 enode = node->piv_parent; in mt_destroy_walk()
5003 if (mte_to_node(enode) == node) in mt_destroy_walk()
5006 type = mte_node_type(enode); in mt_destroy_walk()
5007 slots = ma_slots(mte_to_node(enode), type); in mt_destroy_walk()
5013 parent = enode; in mt_destroy_walk()
5014 enode = tmp; in mt_destroy_walk()
5015 slots = mte_destroy_descend(&enode, mt, parent, offset); in mt_destroy_walk()
5018 node = mte_to_node(enode); in mt_destroy_walk()
5019 } while (start != enode); in mt_destroy_walk()
5021 node = mte_to_node(enode); in mt_destroy_walk()
5022 node->slot_len = mte_dead_leaves(enode, mt, slots); in mt_destroy_walk()
5040 static inline void mte_destroy_walk(struct maple_enode *enode, in mte_destroy_walk() argument
5043 struct maple_node *node = mte_to_node(enode); in mte_destroy_walk()
5046 mt_destroy_walk(enode, mt, false); in mte_destroy_walk()
5049 mt_destroy_walk(enode, mt, true); in mte_destroy_walk()