Lines Matching refs:tag

98 static inline void tag_set(struct radix_tree_node *node, unsigned int tag,  in tag_set()  argument
101 __set_bit(offset, node->tags[tag]); in tag_set()
104 static inline void tag_clear(struct radix_tree_node *node, unsigned int tag, in tag_clear() argument
107 __clear_bit(offset, node->tags[tag]); in tag_clear()
110 static inline int tag_get(const struct radix_tree_node *node, unsigned int tag, in tag_get() argument
113 return test_bit(offset, node->tags[tag]); in tag_get()
116 static inline void root_tag_set(struct radix_tree_root *root, unsigned tag) in root_tag_set() argument
118 root->xa_flags |= (__force gfp_t)(1 << (tag + ROOT_TAG_SHIFT)); in root_tag_set()
121 static inline void root_tag_clear(struct radix_tree_root *root, unsigned tag) in root_tag_clear() argument
123 root->xa_flags &= (__force gfp_t)~(1 << (tag + ROOT_TAG_SHIFT)); in root_tag_clear()
131 static inline int root_tag_get(const struct radix_tree_root *root, unsigned tag) in root_tag_get() argument
133 return (__force int)root->xa_flags & (1 << (tag + ROOT_TAG_SHIFT)); in root_tag_get()
151 unsigned int tag) in any_tag_set() argument
155 if (node->tags[tag][idx]) in any_tag_set()
161 static inline void all_tag_set(struct radix_tree_node *node, unsigned int tag) in all_tag_set() argument
163 bitmap_fill(node->tags[tag], RADIX_TREE_MAP_SIZE); in all_tag_set()
178 radix_tree_find_next_bit(struct radix_tree_node *node, unsigned int tag, in radix_tree_find_next_bit() argument
181 const unsigned long *addr = node->tags[tag]; in radix_tree_find_next_bit()
411 int tag; in radix_tree_extend() local
436 for (tag = 0; tag < RADIX_TREE_MAX_TAGS; tag++) { in radix_tree_extend()
437 if (root_tag_get(root, tag)) in radix_tree_extend()
438 tag_set(node, tag, 0); in radix_tree_extend()
834 unsigned int tag, unsigned int offset) in node_tag_get() argument
837 return tag_get(node, tag, offset); in node_tag_get()
838 return root_tag_get(root, tag); in node_tag_get()
937 unsigned int tag, unsigned int offset) in node_tag_set() argument
940 if (tag_get(node, tag, offset)) in node_tag_set()
942 tag_set(node, tag, offset); in node_tag_set()
947 if (!root_tag_get(root, tag)) in node_tag_set()
948 root_tag_set(root, tag); in node_tag_set()
965 unsigned long index, unsigned int tag) in radix_tree_tag_set() argument
980 if (!tag_get(parent, tag, offset)) in radix_tree_tag_set()
981 tag_set(parent, tag, offset); in radix_tree_tag_set()
985 if (!root_tag_get(root, tag)) in radix_tree_tag_set()
986 root_tag_set(root, tag); in radix_tree_tag_set()
994 unsigned int tag, unsigned int offset) in node_tag_clear() argument
997 if (!tag_get(node, tag, offset)) in node_tag_clear()
999 tag_clear(node, tag, offset); in node_tag_clear()
1000 if (any_tag_set(node, tag)) in node_tag_clear()
1008 if (root_tag_get(root, tag)) in node_tag_clear()
1009 root_tag_clear(root, tag); in node_tag_clear()
1027 unsigned long index, unsigned int tag) in radix_tree_tag_clear() argument
1045 node_tag_clear(root, parent, tag, offset); in radix_tree_tag_clear()
1058 const struct radix_tree_iter *iter, unsigned int tag) in radix_tree_iter_tag_clear() argument
1060 node_tag_clear(root, iter->node, tag, iter_offset(iter)); in radix_tree_iter_tag_clear()
1079 unsigned long index, unsigned int tag) in radix_tree_tag_get() argument
1084 if (!root_tag_get(root, tag)) in radix_tree_tag_get()
1097 if (!tag_get(parent, tag, offset)) in radix_tree_tag_get()
1110 unsigned tag) in set_iter_tags() argument
1120 iter->tags = node->tags[tag][tag_long] >> tag_bit; in set_iter_tags()
1126 iter->tags |= node->tags[tag][tag_long + 1] << in set_iter_tags()
1155 unsigned tag = flags & RADIX_TREE_ITER_TAG_MASK; in radix_tree_next_chunk() local
1159 if ((flags & RADIX_TREE_ITER_TAGGED) && !root_tag_get(root, tag)) in radix_tree_next_chunk()
1196 !tag_get(node, tag, offset) : !child) { in radix_tree_next_chunk()
1202 offset = radix_tree_find_next_bit(node, tag, in radix_tree_next_chunk()
1233 set_iter_tags(iter, node, offset, tag); in radix_tree_next_chunk()
1302 unsigned int tag) in radix_tree_gang_lookup_tag() argument
1311 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag()
1343 unsigned int max_items, unsigned int tag) in radix_tree_gang_lookup_tag_slot() argument
1352 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag_slot()
1368 int tag; in __radix_tree_delete() local
1373 for (tag = 0; tag < RADIX_TREE_MAX_TAGS; tag++) in __radix_tree_delete()
1374 node_tag_clear(root, node, tag, offset); in __radix_tree_delete()
1454 int radix_tree_tagged(const struct radix_tree_root *root, unsigned int tag) in radix_tree_tagged() argument
1456 return root_tag_get(root, tag); in radix_tree_tagged()