xref: /OK3568_Linux_fs/kernel/tools/testing/radix-tree/linux/radix-tree.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef _TEST_RADIX_TREE_H
3*4882a593Smuzhiyun #define _TEST_RADIX_TREE_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include "../../../../include/linux/radix-tree.h"
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun extern int kmalloc_verbose;
8*4882a593Smuzhiyun extern int test_verbose;
9*4882a593Smuzhiyun 
trace_call_rcu(struct rcu_head * head,void (* func)(struct rcu_head * head))10*4882a593Smuzhiyun static inline void trace_call_rcu(struct rcu_head *head,
11*4882a593Smuzhiyun 		void (*func)(struct rcu_head *head))
12*4882a593Smuzhiyun {
13*4882a593Smuzhiyun 	if (kmalloc_verbose)
14*4882a593Smuzhiyun 		printf("Delaying free of %p to slab\n", (char *)head -
15*4882a593Smuzhiyun 				offsetof(struct radix_tree_node, rcu_head));
16*4882a593Smuzhiyun 	call_rcu(head, func);
17*4882a593Smuzhiyun }
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun #define printv(verbosity_level, fmt, ...) \
20*4882a593Smuzhiyun 	if(test_verbose >= verbosity_level) \
21*4882a593Smuzhiyun 		printf(fmt, ##__VA_ARGS__)
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun #undef call_rcu
24*4882a593Smuzhiyun #define call_rcu(x, y) trace_call_rcu(x, y)
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #endif /* _TEST_RADIX_TREE_H */
27