Lines Matching refs:tag
88 static inline void tag_set(struct radix_tree_node *node, unsigned int tag, in tag_set() argument
91 __set_bit(offset, node->tags[tag]); in tag_set()
94 static inline void tag_clear(struct radix_tree_node *node, unsigned int tag, in tag_clear() argument
97 __clear_bit(offset, node->tags[tag]); in tag_clear()
100 static inline int tag_get(struct radix_tree_node *node, unsigned int tag, in tag_get() argument
103 return test_bit(offset, node->tags[tag]); in tag_get()
106 static inline void root_tag_set(struct radix_tree_root *root, unsigned int tag) in root_tag_set() argument
108 root->gfp_mask |= (__force gfp_t)(1 << (tag + __GFP_BITS_SHIFT)); in root_tag_set()
111 static inline void root_tag_clear(struct radix_tree_root *root, unsigned int tag) in root_tag_clear() argument
113 root->gfp_mask &= (__force gfp_t)~(1 << (tag + __GFP_BITS_SHIFT)); in root_tag_clear()
121 static inline int root_tag_get(struct radix_tree_root *root, unsigned int tag) in root_tag_get() argument
123 return (__force unsigned)root->gfp_mask & (1 << (tag + __GFP_BITS_SHIFT)); in root_tag_get()
130 static inline int any_tag_set(struct radix_tree_node *node, unsigned int tag) in any_tag_set() argument
134 if (node->tags[tag][idx]) in any_tag_set()
331 int tag; in radix_tree_extend() local
349 for (tag = 0; tag < RADIX_TREE_MAX_TAGS; tag++) { in radix_tree_extend()
350 if (root_tag_get(root, tag)) in radix_tree_extend()
351 tag_set(node, tag, 0); in radix_tree_extend()
593 unsigned long index, unsigned int tag) in radix_tree_tag_set() argument
608 if (!tag_get(slot, tag, offset)) in radix_tree_tag_set()
609 tag_set(slot, tag, offset); in radix_tree_tag_set()
617 if (slot && !root_tag_get(root, tag)) in radix_tree_tag_set()
618 root_tag_set(root, tag); in radix_tree_tag_set()
639 unsigned long index, unsigned int tag) in radix_tree_tag_clear() argument
667 if (!tag_get(node, tag, offset)) in radix_tree_tag_clear()
669 tag_clear(node, tag, offset); in radix_tree_tag_clear()
670 if (any_tag_set(node, tag)) in radix_tree_tag_clear()
679 if (root_tag_get(root, tag)) in radix_tree_tag_clear()
680 root_tag_clear(root, tag); in radix_tree_tag_clear()
703 unsigned long index, unsigned int tag) in radix_tree_tag_get() argument
709 if (!root_tag_get(root, tag)) in radix_tree_tag_get()
733 if (!tag_get(node, tag, offset)) in radix_tree_tag_get()
755 unsigned shift, tag = flags & RADIX_TREE_ITER_TAG_MASK; in radix_tree_next_chunk() local
759 if ((flags & RADIX_TREE_ITER_TAGGED) && !root_tag_get(root, tag)) in radix_tree_next_chunk()
799 !test_bit(offset, node->tags[tag]) : in radix_tree_next_chunk()
807 node->tags[tag], in radix_tree_next_chunk()
845 iter->tags = node->tags[tag][tag_long] >> tag_bit; in radix_tree_next_chunk()
850 iter->tags |= node->tags[tag][tag_long + 1] << in radix_tree_next_chunk()
1095 unsigned int tag) in radix_tree_gang_lookup_tag() argument
1104 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag()
1136 unsigned int tag) in radix_tree_gang_lookup_tag_slot() argument
1145 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag_slot()
1383 int tag; in radix_tree_delete_item() local
1404 for (tag = 0; tag < RADIX_TREE_MAX_TAGS; tag++) { in radix_tree_delete_item()
1405 if (tag_get(node, tag, offset)) in radix_tree_delete_item()
1406 radix_tree_tag_clear(root, index, tag); in radix_tree_delete_item()
1438 int radix_tree_tagged(struct radix_tree_root *root, unsigned int tag) in radix_tree_tagged() argument
1440 return root_tag_get(root, tag); in radix_tree_tagged()