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);
39 void ida_thread_tests(void);
42 item_tag_set(struct radix_tree_root
*root
, unsigned long index
, int tag
);
44 item_tag_clear(struct radix_tree_root
*root
, unsigned long index
, int tag
);
45 int item_tag_get(struct radix_tree_root
*root
, unsigned long index
, int tag
);
46 void tree_verify_min_height(struct radix_tree_root
*root
, int maxindex
);
47 void verify_tag_consistency(struct radix_tree_root
*root
, unsigned int tag
);
49 extern int nr_allocated
;
51 /* Normally private parts of lib/radix-tree.c */
52 struct radix_tree_node
*entry_to_node(void *ptr
);
53 void radix_tree_dump(struct radix_tree_root
*root
);
54 int root_tag_get(struct radix_tree_root
*root
, unsigned int tag
);
55 unsigned long node_maxindex(struct radix_tree_node
*);
56 unsigned long shift_maxindex(unsigned int shift
);
57 int radix_tree_cpu_dead(unsigned int cpu
);
58 struct radix_tree_preload
{
60 struct radix_tree_node
*nodes
;
62 extern struct radix_tree_preload radix_tree_preloads
;