Lines Matching refs:tag
87 static inline void tag_set(struct radix_tree_node *node, unsigned int tag, in tag_set() argument
90 __set_bit(offset, node->tags[tag]); in tag_set()
93 static inline void tag_clear(struct radix_tree_node *node, unsigned int tag, in tag_clear() argument
96 __clear_bit(offset, node->tags[tag]); in tag_clear()
99 static inline int tag_get(struct radix_tree_node *node, unsigned int tag, in tag_get() argument
102 return test_bit(offset, node->tags[tag]); in tag_get()
105 static inline void root_tag_set(struct radix_tree_root *root, unsigned int tag) in root_tag_set() argument
107 root->gfp_mask |= (__force gfp_t)(1 << (tag + __GFP_BITS_SHIFT)); in root_tag_set()
110 static inline void root_tag_clear(struct radix_tree_root *root, unsigned int tag) in root_tag_clear() argument
112 root->gfp_mask &= (__force gfp_t)~(1 << (tag + __GFP_BITS_SHIFT)); in root_tag_clear()
120 static inline int root_tag_get(struct radix_tree_root *root, unsigned int tag) in root_tag_get() argument
122 return (__force unsigned)root->gfp_mask & (1 << (tag + __GFP_BITS_SHIFT)); in root_tag_get()
129 static inline int any_tag_set(struct radix_tree_node *node, unsigned int tag) in any_tag_set() argument
133 if (node->tags[tag][idx]) in any_tag_set()
326 int tag; in radix_tree_extend() local
344 for (tag = 0; tag < RADIX_TREE_MAX_TAGS; tag++) { in radix_tree_extend()
345 if (root_tag_get(root, tag)) in radix_tree_extend()
346 tag_set(node, tag, 0); in radix_tree_extend()
588 unsigned long index, unsigned int tag) in radix_tree_tag_set() argument
603 if (!tag_get(slot, tag, offset)) in radix_tree_tag_set()
604 tag_set(slot, tag, offset); in radix_tree_tag_set()
612 if (slot && !root_tag_get(root, tag)) in radix_tree_tag_set()
613 root_tag_set(root, tag); in radix_tree_tag_set()
634 unsigned long index, unsigned int tag) in radix_tree_tag_clear() argument
662 if (!tag_get(node, tag, offset)) in radix_tree_tag_clear()
664 tag_clear(node, tag, offset); in radix_tree_tag_clear()
665 if (any_tag_set(node, tag)) in radix_tree_tag_clear()
674 if (root_tag_get(root, tag)) in radix_tree_tag_clear()
675 root_tag_clear(root, tag); in radix_tree_tag_clear()
698 unsigned long index, unsigned int tag) in radix_tree_tag_get() argument
704 if (!root_tag_get(root, tag)) in radix_tree_tag_get()
728 if (!tag_get(node, tag, offset)) in radix_tree_tag_get()
750 unsigned shift, tag = flags & RADIX_TREE_ITER_TAG_MASK; in radix_tree_next_chunk() local
754 if ((flags & RADIX_TREE_ITER_TAGGED) && !root_tag_get(root, tag)) in radix_tree_next_chunk()
794 !test_bit(offset, node->tags[tag]) : in radix_tree_next_chunk()
802 node->tags[tag], in radix_tree_next_chunk()
840 iter->tags = node->tags[tag][tag_long] >> tag_bit; in radix_tree_next_chunk()
845 iter->tags |= node->tags[tag][tag_long + 1] << in radix_tree_next_chunk()
1090 unsigned int tag) in radix_tree_gang_lookup_tag() argument
1099 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag()
1131 unsigned int tag) in radix_tree_gang_lookup_tag_slot() argument
1140 radix_tree_for_each_tagged(slot, root, &iter, first_index, tag) { in radix_tree_gang_lookup_tag_slot()
1378 int tag; in radix_tree_delete_item() local
1399 for (tag = 0; tag < RADIX_TREE_MAX_TAGS; tag++) { in radix_tree_delete_item()
1400 if (tag_get(node, tag, offset)) in radix_tree_delete_item()
1401 radix_tree_tag_clear(root, index, tag); in radix_tree_delete_item()
1433 int radix_tree_tagged(struct radix_tree_root *root, unsigned int tag) in radix_tree_tagged() argument
1435 return root_tag_get(root, tag); in radix_tree_tagged()