Commit eaf9790d authored by Liam R. Howlett's avatar Liam R. Howlett Committed by Andrew Morton
Browse files

maple_tree: add __init and __exit to test module

The test functions are not needed after the module is removed, so mark
them as such.  Add __exit to the module removal function.  Some other
variables have been marked as const static as well.

Link: https://lkml.kernel.org/r/20230518145544.1722059-20-Liam.Howlett@oracle.com


Signed-off-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
Suggested-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Cc: David Binderman <dcb314@hotmail.com>
Cc: Peng Zhang <zhangpeng.00@bytedance.com>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Vernon Yang <vernon2gm@gmail.com>
Cc: Wei Yang <richard.weiyang@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 36bd9310
Loading
Loading
Loading
Loading
+80 −78
Original line number Diff line number Diff line
@@ -51,54 +51,54 @@ atomic_t maple_tree_tests_passed;
#else
#define cond_resched()			do {} while (0)
#endif
static
int mtree_insert_index(struct maple_tree *mt, unsigned long index, gfp_t gfp)
static int __init mtree_insert_index(struct maple_tree *mt,
				     unsigned long index, gfp_t gfp)
{
	return mtree_insert(mt, index, xa_mk_value(index & LONG_MAX), gfp);
}

static void mtree_erase_index(struct maple_tree *mt, unsigned long index)
static void __init mtree_erase_index(struct maple_tree *mt, unsigned long index)
{
	MT_BUG_ON(mt, mtree_erase(mt, index) != xa_mk_value(index & LONG_MAX));
	MT_BUG_ON(mt, mtree_load(mt, index) != NULL);
}

static int mtree_test_insert(struct maple_tree *mt, unsigned long index,
static int __init mtree_test_insert(struct maple_tree *mt, unsigned long index,
				void *ptr)
{
	return mtree_insert(mt, index, ptr, GFP_KERNEL);
}

static int mtree_test_store_range(struct maple_tree *mt, unsigned long start,
				unsigned long end, void *ptr)
static int __init mtree_test_store_range(struct maple_tree *mt,
			unsigned long start, unsigned long end, void *ptr)
{
	return mtree_store_range(mt, start, end, ptr, GFP_KERNEL);
}

static int mtree_test_store(struct maple_tree *mt, unsigned long start,
static int __init mtree_test_store(struct maple_tree *mt, unsigned long start,
				void *ptr)
{
	return mtree_test_store_range(mt, start, start, ptr);
}

static int mtree_test_insert_range(struct maple_tree *mt, unsigned long start,
				unsigned long end, void *ptr)
static int __init mtree_test_insert_range(struct maple_tree *mt,
			unsigned long start, unsigned long end, void *ptr)
{
	return mtree_insert_range(mt, start, end, ptr, GFP_KERNEL);
}

static void *mtree_test_load(struct maple_tree *mt, unsigned long index)
static void __init *mtree_test_load(struct maple_tree *mt, unsigned long index)
{
	return mtree_load(mt, index);
}

static void *mtree_test_erase(struct maple_tree *mt, unsigned long index)
static void __init *mtree_test_erase(struct maple_tree *mt, unsigned long index)
{
	return mtree_erase(mt, index);
}

#if defined(CONFIG_64BIT)
static noinline void check_mtree_alloc_range(struct maple_tree *mt,
static noinline void __init check_mtree_alloc_range(struct maple_tree *mt,
		unsigned long start, unsigned long end, unsigned long size,
		unsigned long expected, int eret, void *ptr)
{
@@ -115,7 +115,7 @@ static noinline void check_mtree_alloc_range(struct maple_tree *mt,
	MT_BUG_ON(mt, result != expected);
}

static noinline void check_mtree_alloc_rrange(struct maple_tree *mt,
static noinline void __init check_mtree_alloc_rrange(struct maple_tree *mt,
		unsigned long start, unsigned long end, unsigned long size,
		unsigned long expected, int eret, void *ptr)
{
@@ -133,8 +133,8 @@ static noinline void check_mtree_alloc_rrange(struct maple_tree *mt,
}
#endif

static noinline void check_load(struct maple_tree *mt, unsigned long index,
				void *ptr)
static noinline void __init check_load(struct maple_tree *mt,
				       unsigned long index, void *ptr)
{
	void *ret = mtree_test_load(mt, index);

@@ -143,7 +143,7 @@ static noinline void check_load(struct maple_tree *mt, unsigned long index,
	MT_BUG_ON(mt, ret != ptr);
}

static noinline void check_store_range(struct maple_tree *mt,
static noinline void __init check_store_range(struct maple_tree *mt,
		unsigned long start, unsigned long end, void *ptr, int expected)
{
	int ret = -EINVAL;
@@ -159,7 +159,7 @@ static noinline void check_store_range(struct maple_tree *mt,
		check_load(mt, i, ptr);
}

static noinline void check_insert_range(struct maple_tree *mt,
static noinline void __init check_insert_range(struct maple_tree *mt,
		unsigned long start, unsigned long end, void *ptr, int expected)
{
	int ret = -EINVAL;
@@ -175,8 +175,8 @@ static noinline void check_insert_range(struct maple_tree *mt,
		check_load(mt, i, ptr);
}

static noinline void check_insert(struct maple_tree *mt, unsigned long index,
		void *ptr)
static noinline void __init check_insert(struct maple_tree *mt,
					 unsigned long index, void *ptr)
{
	int ret = -EINVAL;

@@ -184,7 +184,7 @@ static noinline void check_insert(struct maple_tree *mt, unsigned long index,
	MT_BUG_ON(mt, ret != 0);
}

static noinline void check_dup_insert(struct maple_tree *mt,
static noinline void __init check_dup_insert(struct maple_tree *mt,
				      unsigned long index, void *ptr)
{
	int ret = -EINVAL;
@@ -194,13 +194,13 @@ static noinline void check_dup_insert(struct maple_tree *mt,
}


static noinline
void check_index_load(struct maple_tree *mt, unsigned long index)
static noinline void __init check_index_load(struct maple_tree *mt,
					     unsigned long index)
{
	return check_load(mt, index, xa_mk_value(index & LONG_MAX));
}

static inline int not_empty(struct maple_node *node)
static inline __init int not_empty(struct maple_node *node)
{
	int i;

@@ -215,8 +215,8 @@ static inline int not_empty(struct maple_node *node)
}


static noinline void check_rev_seq(struct maple_tree *mt, unsigned long max,
		bool verbose)
static noinline void __init check_rev_seq(struct maple_tree *mt,
					  unsigned long max, bool verbose)
{
	unsigned long i = max, j;

@@ -248,7 +248,7 @@ static noinline void check_rev_seq(struct maple_tree *mt, unsigned long max,
#endif
}

static noinline void check_seq(struct maple_tree *mt, unsigned long max,
static noinline void __init check_seq(struct maple_tree *mt, unsigned long max,
		bool verbose)
{
	unsigned long i, j;
@@ -277,7 +277,7 @@ static noinline void check_seq(struct maple_tree *mt, unsigned long max,
#endif
}

static noinline void check_lb_not_empty(struct maple_tree *mt)
static noinline void __init check_lb_not_empty(struct maple_tree *mt)
{
	unsigned long i, j;
	unsigned long huge = 4000UL * 1000 * 1000;
@@ -296,13 +296,13 @@ static noinline void check_lb_not_empty(struct maple_tree *mt)
	mtree_destroy(mt);
}

static noinline void check_lower_bound_split(struct maple_tree *mt)
static noinline void __init check_lower_bound_split(struct maple_tree *mt)
{
	MT_BUG_ON(mt, !mtree_empty(mt));
	check_lb_not_empty(mt);
}

static noinline void check_upper_bound_split(struct maple_tree *mt)
static noinline void __init check_upper_bound_split(struct maple_tree *mt)
{
	unsigned long i, j;
	unsigned long huge;
@@ -327,7 +327,7 @@ static noinline void check_upper_bound_split(struct maple_tree *mt)
	mtree_destroy(mt);
}

static noinline void check_mid_split(struct maple_tree *mt)
static noinline void __init check_mid_split(struct maple_tree *mt)
{
	unsigned long huge = 8000UL * 1000 * 1000;

@@ -336,7 +336,7 @@ static noinline void check_mid_split(struct maple_tree *mt)
	check_lb_not_empty(mt);
}

static noinline void check_rev_find(struct maple_tree *mt)
static noinline void __init check_rev_find(struct maple_tree *mt)
{
	int i, nr_entries = 200;
	void *val;
@@ -375,7 +375,7 @@ static noinline void check_rev_find(struct maple_tree *mt)
	rcu_read_unlock();
}

static noinline void check_find(struct maple_tree *mt)
static noinline void __init check_find(struct maple_tree *mt)
{
	unsigned long val = 0;
	unsigned long count;
@@ -592,7 +592,7 @@ static noinline void check_find(struct maple_tree *mt)
	mtree_destroy(mt);
}

static noinline void check_find_2(struct maple_tree *mt)
static noinline void __init check_find_2(struct maple_tree *mt)
{
	unsigned long i, j;
	void *entry;
@@ -637,7 +637,7 @@ static noinline void check_find_2(struct maple_tree *mt)


#if defined(CONFIG_64BIT)
static noinline void check_alloc_rev_range(struct maple_tree *mt)
static noinline void __init check_alloc_rev_range(struct maple_tree *mt)
{
	/*
	 * Generated by:
@@ -645,7 +645,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt)
	 * awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}'
	 */

	unsigned long range[] = {
	static const unsigned long range[] = {
	/*      Inclusive     , Exclusive. */
		0x565234af2000, 0x565234af4000,
		0x565234af4000, 0x565234af9000,
@@ -673,7 +673,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt)
		0x7fff58791000, 0x7fff58793000,
	};

	unsigned long holes[] = {
	static const unsigned long holes[] = {
		/*
		 * Note: start of hole is INCLUSIVE
		 *        end of hole is EXCLUSIVE
@@ -693,7 +693,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt)
	 * 4. number that should be returned.
	 * 5. return value
	 */
	unsigned long req_range[] = {
	static const unsigned long req_range[] = {
		0x565234af9000, /* Min */
		0x7fff58791000, /* Max */
		0x1000,         /* Size */
@@ -804,7 +804,7 @@ static noinline void check_alloc_rev_range(struct maple_tree *mt)
	mtree_destroy(mt);
}

static noinline void check_alloc_range(struct maple_tree *mt)
static noinline void __init check_alloc_range(struct maple_tree *mt)
{
	/*
	 * Generated by:
@@ -812,7 +812,7 @@ static noinline void check_alloc_range(struct maple_tree *mt)
	 * awk -F "-" '{printf "0x%s, 0x%s, ", $1, $2}'
	 */

	unsigned long range[] = {
	static const unsigned long range[] = {
	/*      Inclusive     , Exclusive. */
		0x565234af2000, 0x565234af4000,
		0x565234af4000, 0x565234af9000,
@@ -839,7 +839,7 @@ static noinline void check_alloc_range(struct maple_tree *mt)
		0x7fff5878e000, 0x7fff58791000,
		0x7fff58791000, 0x7fff58793000,
	};
	unsigned long holes[] = {
	static const unsigned long holes[] = {
		/* Start of hole, end of hole,  size of hole (+1) */
		0x565234afb000, 0x565234afc000, 0x1000,
		0x565234afe000, 0x565235def000, 0x12F1000,
@@ -854,7 +854,7 @@ static noinline void check_alloc_range(struct maple_tree *mt)
	 * 4. number that should be returned.
	 * 5. return value
	 */
	unsigned long req_range[] = {
	static const unsigned long req_range[] = {
		0x565234af9000, /* Min */
		0x7fff58791000, /* Max */
		0x1000,         /* Size */
@@ -963,10 +963,10 @@ static noinline void check_alloc_range(struct maple_tree *mt)
}
#endif

static noinline void check_ranges(struct maple_tree *mt)
static noinline void __init check_ranges(struct maple_tree *mt)
{
	int i, val, val2;
	unsigned long r[] = {
	static const unsigned long r[] = {
		10, 15,
		20, 25,
		17, 22, /* Overlaps previous range. */
@@ -1231,7 +1231,7 @@ static noinline void check_ranges(struct maple_tree *mt)
		MT_BUG_ON(mt, mt_height(mt) != 4);
}

static noinline void check_next_entry(struct maple_tree *mt)
static noinline void __init check_next_entry(struct maple_tree *mt)
{
	void *entry = NULL;
	unsigned long limit = 30, i = 0;
@@ -1255,7 +1255,7 @@ static noinline void check_next_entry(struct maple_tree *mt)
	mtree_destroy(mt);
}

static noinline void check_prev_entry(struct maple_tree *mt)
static noinline void __init check_prev_entry(struct maple_tree *mt)
{
	unsigned long index = 16;
	void *value;
@@ -1299,7 +1299,7 @@ static noinline void check_prev_entry(struct maple_tree *mt)
	mas_unlock(&mas);
}

static noinline void check_root_expand(struct maple_tree *mt)
static noinline void __init check_root_expand(struct maple_tree *mt)
{
	MA_STATE(mas, mt, 0, 0);
	void *ptr;
@@ -1388,13 +1388,13 @@ static noinline void check_root_expand(struct maple_tree *mt)
	mas_unlock(&mas);
}

static noinline void check_gap_combining(struct maple_tree *mt)
static noinline void __init check_gap_combining(struct maple_tree *mt)
{
	struct maple_enode *mn1, *mn2;
	void *entry;
	unsigned long singletons = 100;
	unsigned long *seq100;
	unsigned long seq100_64[] = {
	static const unsigned long *seq100;
	static const unsigned long seq100_64[] = {
		/* 0-5 */
		74, 75, 76,
		50, 100, 2,
@@ -1408,7 +1408,7 @@ static noinline void check_gap_combining(struct maple_tree *mt)
		76, 2, 79, 85, 4,
	};

	unsigned long seq100_32[] = {
	static const unsigned long seq100_32[] = {
		/* 0-5 */
		61, 62, 63,
		50, 100, 2,
@@ -1422,11 +1422,11 @@ static noinline void check_gap_combining(struct maple_tree *mt)
		76, 2, 79, 85, 4,
	};

	unsigned long seq2000[] = {
	static const unsigned long seq2000[] = {
		1152, 1151,
		1100, 1200, 2,
	};
	unsigned long seq400[] = {
	static const unsigned long seq400[] = {
		286, 318,
		256, 260, 266, 270, 275, 280, 290, 398,
		286, 310,
@@ -1585,7 +1585,7 @@ static noinline void check_gap_combining(struct maple_tree *mt)
	mt_set_non_kernel(0);
	mtree_destroy(mt);
}
static noinline void check_node_overwrite(struct maple_tree *mt)
static noinline void __init check_node_overwrite(struct maple_tree *mt)
{
	int i, max = 4000;

@@ -1598,7 +1598,7 @@ static noinline void check_node_overwrite(struct maple_tree *mt)
}

#if defined(BENCH_SLOT_STORE)
static noinline void bench_slot_store(struct maple_tree *mt)
static noinline void __init bench_slot_store(struct maple_tree *mt)
{
	int i, brk = 105, max = 1040, brk_start = 100, count = 20000000;

@@ -1614,7 +1614,7 @@ static noinline void bench_slot_store(struct maple_tree *mt)
#endif

#if defined(BENCH_NODE_STORE)
static noinline void bench_node_store(struct maple_tree *mt)
static noinline void __init bench_node_store(struct maple_tree *mt)
{
	int i, overwrite = 76, max = 240, count = 20000000;

@@ -1633,7 +1633,7 @@ static noinline void bench_node_store(struct maple_tree *mt)
#endif

#if defined(BENCH_AWALK)
static noinline void bench_awalk(struct maple_tree *mt)
static noinline void __init bench_awalk(struct maple_tree *mt)
{
	int i, max = 2500, count = 50000000;
	MA_STATE(mas, mt, 1470, 1470);
@@ -1650,7 +1650,7 @@ static noinline void bench_awalk(struct maple_tree *mt)
}
#endif
#if defined(BENCH_WALK)
static noinline void bench_walk(struct maple_tree *mt)
static noinline void __init bench_walk(struct maple_tree *mt)
{
	int i, max = 2500, count = 550000000;
	MA_STATE(mas, mt, 1470, 1470);
@@ -1667,7 +1667,7 @@ static noinline void bench_walk(struct maple_tree *mt)
#endif

#if defined(BENCH_MT_FOR_EACH)
static noinline void bench_mt_for_each(struct maple_tree *mt)
static noinline void __init bench_mt_for_each(struct maple_tree *mt)
{
	int i, count = 1000000;
	unsigned long max = 2500, index = 0;
@@ -1691,7 +1691,7 @@ static noinline void bench_mt_for_each(struct maple_tree *mt)
#endif

/* check_forking - simulate the kernel forking sequence with the tree. */
static noinline void check_forking(struct maple_tree *mt)
static noinline void __init check_forking(struct maple_tree *mt)
{

	struct maple_tree newmt;
@@ -1730,7 +1730,7 @@ static noinline void check_forking(struct maple_tree *mt)
	mtree_destroy(&newmt);
}

static noinline void check_iteration(struct maple_tree *mt)
static noinline void __init check_iteration(struct maple_tree *mt)
{
	int i, nr_entries = 125;
	void *val;
@@ -1798,7 +1798,7 @@ static noinline void check_iteration(struct maple_tree *mt)
	mt_set_non_kernel(0);
}

static noinline void check_mas_store_gfp(struct maple_tree *mt)
static noinline void __init check_mas_store_gfp(struct maple_tree *mt)
{

	struct maple_tree newmt;
@@ -1831,7 +1831,7 @@ static noinline void check_mas_store_gfp(struct maple_tree *mt)
}

#if defined(BENCH_FORK)
static noinline void bench_forking(struct maple_tree *mt)
static noinline void __init bench_forking(struct maple_tree *mt)
{

	struct maple_tree newmt;
@@ -1873,15 +1873,17 @@ static noinline void bench_forking(struct maple_tree *mt)
}
#endif

static noinline void next_prev_test(struct maple_tree *mt)
static noinline void __init next_prev_test(struct maple_tree *mt)
{
	int i, nr_entries;
	void *val;
	MA_STATE(mas, mt, 0, 0);
	struct maple_enode *mn;
	unsigned long *level2;
	unsigned long level2_64[] = {707, 1000, 710, 715, 720, 725};
	unsigned long level2_32[] = {1747, 2000, 1750, 1755, 1760, 1765};
	static const unsigned long *level2;
	static const unsigned long level2_64[] = { 707, 1000, 710, 715, 720,
						   725};
	static const unsigned long level2_32[] = { 1747, 2000, 1750, 1755,
						   1760, 1765};

	if (MAPLE_32BIT) {
		nr_entries = 500;
@@ -2049,7 +2051,7 @@ static noinline void next_prev_test(struct maple_tree *mt)


/* Test spanning writes that require balancing right sibling or right cousin */
static noinline void check_spanning_relatives(struct maple_tree *mt)
static noinline void __init check_spanning_relatives(struct maple_tree *mt)
{

	unsigned long i, nr_entries = 1000;
@@ -2062,7 +2064,7 @@ static noinline void check_spanning_relatives(struct maple_tree *mt)
	mtree_store_range(mt, 9365, 9955, NULL, GFP_KERNEL);
}

static noinline void check_fuzzer(struct maple_tree *mt)
static noinline void __init check_fuzzer(struct maple_tree *mt)
{
	/*
	 * 1. Causes a spanning rebalance of a single root node.
@@ -2459,7 +2461,7 @@ static noinline void check_fuzzer(struct maple_tree *mt)
}

/* duplicate the tree with a specific gap */
static noinline void check_dup_gaps(struct maple_tree *mt,
static noinline void __init check_dup_gaps(struct maple_tree *mt,
				    unsigned long nr_entries, bool zero_start,
				    unsigned long gap)
{
@@ -2499,7 +2501,7 @@ static noinline void check_dup_gaps(struct maple_tree *mt,
}

/* Duplicate many sizes of trees.  Mainly to test expected entry values */
static noinline void check_dup(struct maple_tree *mt)
static noinline void __init check_dup(struct maple_tree *mt)
{
	int i;
	int big_start = 100010;
@@ -2587,7 +2589,7 @@ static noinline void check_dup(struct maple_tree *mt)
	}
}

static noinline void check_bnode_min_spanning(struct maple_tree *mt)
static noinline void __init check_bnode_min_spanning(struct maple_tree *mt)
{
	int i = 50;
	MA_STATE(mas, mt, 0, 0);
@@ -2606,7 +2608,7 @@ static noinline void check_bnode_min_spanning(struct maple_tree *mt)
	mt_set_non_kernel(0);
}

static noinline void check_empty_area_window(struct maple_tree *mt)
static noinline void __init check_empty_area_window(struct maple_tree *mt)
{
	unsigned long i, nr_entries = 20;
	MA_STATE(mas, mt, 0, 0);
@@ -2691,7 +2693,7 @@ static noinline void check_empty_area_window(struct maple_tree *mt)
	rcu_read_unlock();
}

static noinline void check_empty_area_fill(struct maple_tree *mt)
static noinline void __init check_empty_area_fill(struct maple_tree *mt)
{
	const unsigned long max = 0x25D78000;
	unsigned long size;
@@ -2735,7 +2737,7 @@ static noinline void check_empty_area_fill(struct maple_tree *mt)
}

static DEFINE_MTREE(tree);
static int maple_tree_seed(void)
static int __init maple_tree_seed(void)
{
	unsigned long set[] = { 5015, 5014, 5017, 25, 1000,
				1001, 1002, 1003, 1005, 0,
@@ -3009,7 +3011,7 @@ static int maple_tree_seed(void)
	return -EINVAL;
}

static void maple_tree_harvest(void)
static void __exit maple_tree_harvest(void)
{

}
+1 −0
Original line number Diff line number Diff line
#define __init
#define __exit
+74 −73

File changed.

Preview size limit exceeded, changes collapsed.