2 #include <linux/types.h>
3 #include <linux/radix-tree.h>
4 #include <linux/rcupdate.h>
11 struct item
*item_create(unsigned long index
, unsigned int order
);
12 int __item_insert(struct radix_tree_root
*root
, struct item
*item
);
13 int item_insert(struct radix_tree_root
*root
, unsigned long index
);
14 int item_insert_order(struct radix_tree_root
*root
, unsigned long index
,
16 int item_delete(struct radix_tree_root
*root
, unsigned long index
);
17 struct item
*item_lookup(struct radix_tree_root
*root
, unsigned long index
);
19 void item_check_present(struct radix_tree_root
*root
, unsigned long index
);
20 void item_check_absent(struct radix_tree_root
*root
, unsigned long index
);
21 void item_gang_check_present(struct radix_tree_root
*root
,
22 unsigned long start
, unsigned long nr
,
24 void item_full_scan(struct radix_tree_root
*root
, unsigned long start
,
25 unsigned long nr
, int chunk
);
26 void item_kill_tree(struct radix_tree_root
*root
);
28 int tag_tagged_items(struct radix_tree_root
*, pthread_mutex_t
*,
29 unsigned long start
, unsigned long end
, unsigned batch
,
30 unsigned iftag
, unsigned thentag
);
31 unsigned long find_item(struct radix_tree_root
*, void *item
);
34 void multiorder_checks(void);
35 void iteration_test(unsigned order
, unsigned duration
);
37 void idr_checks(void);
38 void ida_checks(void);
41 item_tag_set(struct radix_tree_root
*root
, unsigned long index
, int tag
);
43 item_tag_clear(struct radix_tree_root
*root
, unsigned long index
, int tag
);
44 int item_tag_get(struct radix_tree_root
*root
, unsigned long index
, int tag
);
45 void tree_verify_min_height(struct radix_tree_root
*root
, int maxindex
);
46 void verify_tag_consistency(struct radix_tree_root
*root
, unsigned int tag
);
48 extern int nr_allocated
;
50 /* Normally private parts of lib/radix-tree.c */
51 struct radix_tree_node
*entry_to_node(void *ptr
);
52 void radix_tree_dump(struct radix_tree_root
*root
);
53 int root_tag_get(struct radix_tree_root
*root
, unsigned int tag
);
54 unsigned long node_maxindex(struct radix_tree_node
*);
55 unsigned long shift_maxindex(unsigned int shift
);
56 int radix_tree_cpu_dead(unsigned int cpu
);
57 struct radix_tree_preload
{
59 struct radix_tree_node
*nodes
;
61 extern struct radix_tree_preload radix_tree_preloads
;