All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Liam R. Howlett" <Liam.Howlett@oracle.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: oe-kbuild-all@lists.linux.dev,
	Linux Memory Management List <linux-mm@kvack.org>,
	linux-kernel@vger.kernel.org, maple-tree@lists.infradead.org,
	"Liam R. Howlett" <Liam.Howlett@oracle.com>
Subject: Re: [PATCH 16/34] maple_tree: Make test code work without debug enabled
Date: Wed, 26 Apr 2023 11:23:54 +0800	[thread overview]
Message-ID: <202304261147.XQLxtmwo-lkp@intel.com> (raw)
In-Reply-To: <20230425140955.3834476-17-Liam.Howlett@oracle.com>

Hi Liam,

kernel test robot noticed the following build errors:

[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on linus/master v6.3 next-20230425]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Liam-R-Howlett/maple_tree-Fix-static-analyser-cppcheck-issue/20230425-233958
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20230425140955.3834476-17-Liam.Howlett%40oracle.com
patch subject: [PATCH 16/34] maple_tree: Make test code work without debug enabled
config: openrisc-randconfig-r015-20230423 (https://download.01.org/0day-ci/archive/20230426/202304261147.XQLxtmwo-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/a51199306b9f48db55117d3357e7a19c845c089c
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Liam-R-Howlett/maple_tree-Fix-static-analyser-cppcheck-issue/20230425-233958
        git checkout a51199306b9f48db55117d3357e7a19c845c089c
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=openrisc olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=openrisc SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304261147.XQLxtmwo-lkp@intel.com/

All errors (new ones prefixed by >>):

   lib/test_maple_tree.c: In function 'check_ranges':
>> lib/test_maple_tree.c:1078:9: error: implicit declaration of function 'mt_validate' [-Werror=implicit-function-declaration]
    1078 |         mt_validate(mt);
         |         ^~~~~~~~~~~
   lib/test_maple_tree.c: In function 'check_dup':
>> lib/test_maple_tree.c:2498:9: error: implicit declaration of function 'mt_cache_shrink' [-Werror=implicit-function-declaration]
    2498 |         mt_cache_shrink();
         |         ^~~~~~~~~~~~~~~
   In file included from include/linux/kernel.h:30,
                    from include/linux/maple_tree.h:11,
                    from lib/test_maple_tree.c:10:
   lib/test_maple_tree.c: In function 'maple_tree_seed':
>> lib/test_maple_tree.c:2985:38: error: 'maple_tree_tests_passed' undeclared (first use in this function)
    2985 |                         atomic_read(&maple_tree_tests_passed),
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
     427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                                 ^~~~~~~~~~~
   include/linux/printk.h:528:9: note: in expansion of macro 'printk'
     528 |         printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~
   lib/test_maple_tree.c:2984:9: note: in expansion of macro 'pr_info'
    2984 |         pr_info("maple_tree: %u of %u tests passed\n",
         |         ^~~~~~~
   lib/test_maple_tree.c:2985:38: note: each undeclared identifier is reported only once for each function it appears in
    2985 |                         atomic_read(&maple_tree_tests_passed),
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
     427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                                 ^~~~~~~~~~~
   include/linux/printk.h:528:9: note: in expansion of macro 'printk'
     528 |         printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~
   lib/test_maple_tree.c:2984:9: note: in expansion of macro 'pr_info'
    2984 |         pr_info("maple_tree: %u of %u tests passed\n",
         |         ^~~~~~~
>> lib/test_maple_tree.c:2986:38: error: 'maple_tree_tests_run' undeclared (first use in this function)
    2986 |                         atomic_read(&maple_tree_tests_run));
         |                                      ^~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:427:33: note: in definition of macro 'printk_index_wrap'
     427 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                                 ^~~~~~~~~~~
   include/linux/printk.h:528:9: note: in expansion of macro 'printk'
     528 |         printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
         |         ^~~~~~
   lib/test_maple_tree.c:2984:9: note: in expansion of macro 'pr_info'
    2984 |         pr_info("maple_tree: %u of %u tests passed\n",
         |         ^~~~~~~
   cc1: some warnings being treated as errors


vim +/mt_validate +1078 lib/test_maple_tree.c

e15e06a8392321 Liam R. Howlett 2022-09-06   947  
120b116208a087 Liam Howlett    2022-10-28   948  static noinline void check_ranges(struct maple_tree *mt)
e15e06a8392321 Liam R. Howlett 2022-09-06   949  {
120b116208a087 Liam Howlett    2022-10-28   950  	int i, val, val2;
120b116208a087 Liam Howlett    2022-10-28   951  	unsigned long r[] = {
120b116208a087 Liam Howlett    2022-10-28   952  		10, 15,
120b116208a087 Liam Howlett    2022-10-28   953  		20, 25,
120b116208a087 Liam Howlett    2022-10-28   954  		17, 22, /* Overlaps previous range. */
120b116208a087 Liam Howlett    2022-10-28   955  		9, 1000, /* Huge. */
120b116208a087 Liam Howlett    2022-10-28   956  		100, 200,
120b116208a087 Liam Howlett    2022-10-28   957  		45, 168,
120b116208a087 Liam Howlett    2022-10-28   958  		118, 128,
e15e06a8392321 Liam R. Howlett 2022-09-06   959  			};
e15e06a8392321 Liam R. Howlett 2022-09-06   960  
120b116208a087 Liam Howlett    2022-10-28   961  	MT_BUG_ON(mt, !mtree_empty(mt));
120b116208a087 Liam Howlett    2022-10-28   962  	check_insert_range(mt, r[0], r[1], xa_mk_value(r[0]), 0);
120b116208a087 Liam Howlett    2022-10-28   963  	check_insert_range(mt, r[2], r[3], xa_mk_value(r[2]), 0);
120b116208a087 Liam Howlett    2022-10-28   964  	check_insert_range(mt, r[4], r[5], xa_mk_value(r[4]), -EEXIST);
120b116208a087 Liam Howlett    2022-10-28   965  	MT_BUG_ON(mt, !mt_height(mt));
120b116208a087 Liam Howlett    2022-10-28   966  	/* Store */
120b116208a087 Liam Howlett    2022-10-28   967  	check_store_range(mt, r[4], r[5], xa_mk_value(r[4]), 0);
120b116208a087 Liam Howlett    2022-10-28   968  	check_store_range(mt, r[6], r[7], xa_mk_value(r[6]), 0);
120b116208a087 Liam Howlett    2022-10-28   969  	check_store_range(mt, r[8], r[9], xa_mk_value(r[8]), 0);
120b116208a087 Liam Howlett    2022-10-28   970  	MT_BUG_ON(mt, !mt_height(mt));
120b116208a087 Liam Howlett    2022-10-28   971  	mtree_destroy(mt);
120b116208a087 Liam Howlett    2022-10-28   972  	MT_BUG_ON(mt, mt_height(mt));
e15e06a8392321 Liam R. Howlett 2022-09-06   973  
120b116208a087 Liam Howlett    2022-10-28   974  	check_seq(mt, 50, false);
120b116208a087 Liam Howlett    2022-10-28   975  	mt_set_non_kernel(4);
120b116208a087 Liam Howlett    2022-10-28   976  	check_store_range(mt, 5, 47,  xa_mk_value(47), 0);
120b116208a087 Liam Howlett    2022-10-28   977  	MT_BUG_ON(mt, !mt_height(mt));
120b116208a087 Liam Howlett    2022-10-28   978  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06   979  
120b116208a087 Liam Howlett    2022-10-28   980  	/* Create tree of 1-100 */
120b116208a087 Liam Howlett    2022-10-28   981  	check_seq(mt, 100, false);
120b116208a087 Liam Howlett    2022-10-28   982  	/* Store 45-168 */
120b116208a087 Liam Howlett    2022-10-28   983  	mt_set_non_kernel(10);
120b116208a087 Liam Howlett    2022-10-28   984  	check_store_range(mt, r[10], r[11], xa_mk_value(r[10]), 0);
120b116208a087 Liam Howlett    2022-10-28   985  	MT_BUG_ON(mt, !mt_height(mt));
120b116208a087 Liam Howlett    2022-10-28   986  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06   987  
120b116208a087 Liam Howlett    2022-10-28   988  	/* Create tree of 1-200 */
120b116208a087 Liam Howlett    2022-10-28   989  	check_seq(mt, 200, false);
120b116208a087 Liam Howlett    2022-10-28   990  	/* Store 45-168 */
120b116208a087 Liam Howlett    2022-10-28   991  	check_store_range(mt, r[10], r[11], xa_mk_value(r[10]), 0);
120b116208a087 Liam Howlett    2022-10-28   992  	MT_BUG_ON(mt, !mt_height(mt));
120b116208a087 Liam Howlett    2022-10-28   993  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06   994  
120b116208a087 Liam Howlett    2022-10-28   995  	check_seq(mt, 30, false);
120b116208a087 Liam Howlett    2022-10-28   996  	check_store_range(mt, 6, 18, xa_mk_value(6), 0);
120b116208a087 Liam Howlett    2022-10-28   997  	MT_BUG_ON(mt, !mt_height(mt));
120b116208a087 Liam Howlett    2022-10-28   998  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06   999  
120b116208a087 Liam Howlett    2022-10-28  1000  	/* Overwrite across multiple levels. */
120b116208a087 Liam Howlett    2022-10-28  1001  	/* Create tree of 1-400 */
120b116208a087 Liam Howlett    2022-10-28  1002  	check_seq(mt, 400, false);
120b116208a087 Liam Howlett    2022-10-28  1003  	mt_set_non_kernel(50);
120b116208a087 Liam Howlett    2022-10-28  1004  	/* Store 118-128 */
120b116208a087 Liam Howlett    2022-10-28  1005  	check_store_range(mt, r[12], r[13], xa_mk_value(r[12]), 0);
120b116208a087 Liam Howlett    2022-10-28  1006  	mt_set_non_kernel(50);
120b116208a087 Liam Howlett    2022-10-28  1007  	mtree_test_erase(mt, 140);
120b116208a087 Liam Howlett    2022-10-28  1008  	mtree_test_erase(mt, 141);
120b116208a087 Liam Howlett    2022-10-28  1009  	mtree_test_erase(mt, 142);
120b116208a087 Liam Howlett    2022-10-28  1010  	mtree_test_erase(mt, 143);
120b116208a087 Liam Howlett    2022-10-28  1011  	mtree_test_erase(mt, 130);
120b116208a087 Liam Howlett    2022-10-28  1012  	mtree_test_erase(mt, 131);
120b116208a087 Liam Howlett    2022-10-28  1013  	mtree_test_erase(mt, 132);
120b116208a087 Liam Howlett    2022-10-28  1014  	mtree_test_erase(mt, 133);
120b116208a087 Liam Howlett    2022-10-28  1015  	mtree_test_erase(mt, 134);
120b116208a087 Liam Howlett    2022-10-28  1016  	mtree_test_erase(mt, 135);
120b116208a087 Liam Howlett    2022-10-28  1017  	check_load(mt, r[12], xa_mk_value(r[12]));
120b116208a087 Liam Howlett    2022-10-28  1018  	check_load(mt, r[13], xa_mk_value(r[12]));
120b116208a087 Liam Howlett    2022-10-28  1019  	check_load(mt, r[13] - 1, xa_mk_value(r[12]));
120b116208a087 Liam Howlett    2022-10-28  1020  	check_load(mt, r[13] + 1, xa_mk_value(r[13] + 1));
120b116208a087 Liam Howlett    2022-10-28  1021  	check_load(mt, 135, NULL);
120b116208a087 Liam Howlett    2022-10-28  1022  	check_load(mt, 140, NULL);
120b116208a087 Liam Howlett    2022-10-28  1023  	mt_set_non_kernel(0);
120b116208a087 Liam Howlett    2022-10-28  1024  	MT_BUG_ON(mt, !mt_height(mt));
120b116208a087 Liam Howlett    2022-10-28  1025  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06  1026  
e15e06a8392321 Liam R. Howlett 2022-09-06  1027  
e15e06a8392321 Liam R. Howlett 2022-09-06  1028  
120b116208a087 Liam Howlett    2022-10-28  1029  	/* Overwrite multiple levels at the end of the tree (slot 7) */
120b116208a087 Liam Howlett    2022-10-28  1030  	mt_set_non_kernel(50);
120b116208a087 Liam Howlett    2022-10-28  1031  	check_seq(mt, 400, false);
120b116208a087 Liam Howlett    2022-10-28  1032  	check_store_range(mt, 353, 361, xa_mk_value(353), 0);
120b116208a087 Liam Howlett    2022-10-28  1033  	check_store_range(mt, 347, 352, xa_mk_value(347), 0);
e15e06a8392321 Liam R. Howlett 2022-09-06  1034  
120b116208a087 Liam Howlett    2022-10-28  1035  	check_load(mt, 346, xa_mk_value(346));
120b116208a087 Liam Howlett    2022-10-28  1036  	for (i = 347; i <= 352; i++)
120b116208a087 Liam Howlett    2022-10-28  1037  		check_load(mt, i, xa_mk_value(347));
120b116208a087 Liam Howlett    2022-10-28  1038  	for (i = 353; i <= 361; i++)
120b116208a087 Liam Howlett    2022-10-28  1039  		check_load(mt, i, xa_mk_value(353));
120b116208a087 Liam Howlett    2022-10-28  1040  	check_load(mt, 362, xa_mk_value(362));
120b116208a087 Liam Howlett    2022-10-28  1041  	mt_set_non_kernel(0);
120b116208a087 Liam Howlett    2022-10-28  1042  	MT_BUG_ON(mt, !mt_height(mt));
120b116208a087 Liam Howlett    2022-10-28  1043  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06  1044  
120b116208a087 Liam Howlett    2022-10-28  1045  	mt_set_non_kernel(50);
120b116208a087 Liam Howlett    2022-10-28  1046  	check_seq(mt, 400, false);
120b116208a087 Liam Howlett    2022-10-28  1047  	check_store_range(mt, 352, 364, NULL, 0);
120b116208a087 Liam Howlett    2022-10-28  1048  	check_store_range(mt, 351, 363, xa_mk_value(352), 0);
120b116208a087 Liam Howlett    2022-10-28  1049  	check_load(mt, 350, xa_mk_value(350));
120b116208a087 Liam Howlett    2022-10-28  1050  	check_load(mt, 351, xa_mk_value(352));
120b116208a087 Liam Howlett    2022-10-28  1051  	for (i = 352; i <= 363; i++)
120b116208a087 Liam Howlett    2022-10-28  1052  		check_load(mt, i, xa_mk_value(352));
120b116208a087 Liam Howlett    2022-10-28  1053  	check_load(mt, 364, NULL);
120b116208a087 Liam Howlett    2022-10-28  1054  	check_load(mt, 365, xa_mk_value(365));
e15e06a8392321 Liam R. Howlett 2022-09-06  1055  	mt_set_non_kernel(0);
120b116208a087 Liam Howlett    2022-10-28  1056  	MT_BUG_ON(mt, !mt_height(mt));
e15e06a8392321 Liam R. Howlett 2022-09-06  1057  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06  1058  
120b116208a087 Liam Howlett    2022-10-28  1059  	mt_set_non_kernel(5);
120b116208a087 Liam Howlett    2022-10-28  1060  	check_seq(mt, 400, false);
120b116208a087 Liam Howlett    2022-10-28  1061  	check_store_range(mt, 352, 364, NULL, 0);
120b116208a087 Liam Howlett    2022-10-28  1062  	check_store_range(mt, 351, 364, xa_mk_value(352), 0);
120b116208a087 Liam Howlett    2022-10-28  1063  	check_load(mt, 350, xa_mk_value(350));
120b116208a087 Liam Howlett    2022-10-28  1064  	check_load(mt, 351, xa_mk_value(352));
120b116208a087 Liam Howlett    2022-10-28  1065  	for (i = 352; i <= 364; i++)
120b116208a087 Liam Howlett    2022-10-28  1066  		check_load(mt, i, xa_mk_value(352));
120b116208a087 Liam Howlett    2022-10-28  1067  	check_load(mt, 365, xa_mk_value(365));
120b116208a087 Liam Howlett    2022-10-28  1068  	mt_set_non_kernel(0);
120b116208a087 Liam Howlett    2022-10-28  1069  	MT_BUG_ON(mt, !mt_height(mt));
e15e06a8392321 Liam R. Howlett 2022-09-06  1070  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06  1071  
120b116208a087 Liam Howlett    2022-10-28  1072  
120b116208a087 Liam Howlett    2022-10-28  1073  	mt_set_non_kernel(50);
120b116208a087 Liam Howlett    2022-10-28  1074  	check_seq(mt, 400, false);
120b116208a087 Liam Howlett    2022-10-28  1075  	check_store_range(mt, 362, 367, xa_mk_value(362), 0);
120b116208a087 Liam Howlett    2022-10-28  1076  	check_store_range(mt, 353, 361, xa_mk_value(353), 0);
e15e06a8392321 Liam R. Howlett 2022-09-06  1077  	mt_set_non_kernel(0);
120b116208a087 Liam Howlett    2022-10-28 @1078  	mt_validate(mt);
120b116208a087 Liam Howlett    2022-10-28  1079  	MT_BUG_ON(mt, !mt_height(mt));
e15e06a8392321 Liam R. Howlett 2022-09-06  1080  	mtree_destroy(mt);
120b116208a087 Liam Howlett    2022-10-28  1081  	/*
120b116208a087 Liam Howlett    2022-10-28  1082  	 * Interesting cases:
120b116208a087 Liam Howlett    2022-10-28  1083  	 * 1. Overwrite the end of a node and end in the first entry of the next
120b116208a087 Liam Howlett    2022-10-28  1084  	 * node.
120b116208a087 Liam Howlett    2022-10-28  1085  	 * 2. Split a single range
120b116208a087 Liam Howlett    2022-10-28  1086  	 * 3. Overwrite the start of a range
120b116208a087 Liam Howlett    2022-10-28  1087  	 * 4. Overwrite the end of a range
120b116208a087 Liam Howlett    2022-10-28  1088  	 * 5. Overwrite the entire range
120b116208a087 Liam Howlett    2022-10-28  1089  	 * 6. Overwrite a range that causes multiple parent nodes to be
120b116208a087 Liam Howlett    2022-10-28  1090  	 * combined
120b116208a087 Liam Howlett    2022-10-28  1091  	 * 7. Overwrite a range that causes multiple parent nodes and part of
120b116208a087 Liam Howlett    2022-10-28  1092  	 * root to be combined
120b116208a087 Liam Howlett    2022-10-28  1093  	 * 8. Overwrite the whole tree
120b116208a087 Liam Howlett    2022-10-28  1094  	 * 9. Try to overwrite the zero entry of an alloc tree.
120b116208a087 Liam Howlett    2022-10-28  1095  	 * 10. Write a range larger than a nodes current pivot
120b116208a087 Liam Howlett    2022-10-28  1096  	 */
e15e06a8392321 Liam R. Howlett 2022-09-06  1097  
120b116208a087 Liam Howlett    2022-10-28  1098  	mt_set_non_kernel(50);
120b116208a087 Liam Howlett    2022-10-28  1099  	for (i = 0; i <= 500; i++) {
120b116208a087 Liam Howlett    2022-10-28  1100  		val = i*5;
120b116208a087 Liam Howlett    2022-10-28  1101  		val2 = (i+1)*5;
120b116208a087 Liam Howlett    2022-10-28  1102  		check_store_range(mt, val, val2, xa_mk_value(val), 0);
e15e06a8392321 Liam R. Howlett 2022-09-06  1103  	}
120b116208a087 Liam Howlett    2022-10-28  1104  	check_store_range(mt, 2400, 2400, xa_mk_value(2400), 0);
120b116208a087 Liam Howlett    2022-10-28  1105  	check_store_range(mt, 2411, 2411, xa_mk_value(2411), 0);
120b116208a087 Liam Howlett    2022-10-28  1106  	check_store_range(mt, 2412, 2412, xa_mk_value(2412), 0);
120b116208a087 Liam Howlett    2022-10-28  1107  	check_store_range(mt, 2396, 2400, xa_mk_value(4052020), 0);
120b116208a087 Liam Howlett    2022-10-28  1108  	check_store_range(mt, 2402, 2402, xa_mk_value(2402), 0);
e15e06a8392321 Liam R. Howlett 2022-09-06  1109  	mtree_destroy(mt);
120b116208a087 Liam Howlett    2022-10-28  1110  	mt_set_non_kernel(0);
e15e06a8392321 Liam R. Howlett 2022-09-06  1111  
120b116208a087 Liam Howlett    2022-10-28  1112  	mt_set_non_kernel(50);
120b116208a087 Liam Howlett    2022-10-28  1113  	for (i = 0; i <= 500; i++) {
120b116208a087 Liam Howlett    2022-10-28  1114  		val = i*5;
120b116208a087 Liam Howlett    2022-10-28  1115  		val2 = (i+1)*5;
120b116208a087 Liam Howlett    2022-10-28  1116  		check_store_range(mt, val, val2, xa_mk_value(val), 0);
120b116208a087 Liam Howlett    2022-10-28  1117  	}
120b116208a087 Liam Howlett    2022-10-28  1118  	check_store_range(mt, 2422, 2422, xa_mk_value(2422), 0);
120b116208a087 Liam Howlett    2022-10-28  1119  	check_store_range(mt, 2424, 2424, xa_mk_value(2424), 0);
120b116208a087 Liam Howlett    2022-10-28  1120  	check_store_range(mt, 2425, 2425, xa_mk_value(2), 0);
120b116208a087 Liam Howlett    2022-10-28  1121  	check_store_range(mt, 2460, 2470, NULL, 0);
120b116208a087 Liam Howlett    2022-10-28  1122  	check_store_range(mt, 2435, 2460, xa_mk_value(2435), 0);
120b116208a087 Liam Howlett    2022-10-28  1123  	check_store_range(mt, 2461, 2470, xa_mk_value(2461), 0);
e15e06a8392321 Liam R. Howlett 2022-09-06  1124  	mt_set_non_kernel(0);
120b116208a087 Liam Howlett    2022-10-28  1125  	MT_BUG_ON(mt, !mt_height(mt));
e15e06a8392321 Liam R. Howlett 2022-09-06  1126  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06  1127  
120b116208a087 Liam Howlett    2022-10-28  1128  	/* Test rebalance gaps */
e15e06a8392321 Liam R. Howlett 2022-09-06  1129  	mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
120b116208a087 Liam Howlett    2022-10-28  1130  	mt_set_non_kernel(50);
120b116208a087 Liam Howlett    2022-10-28  1131  	for (i = 0; i <= 50; i++) {
120b116208a087 Liam Howlett    2022-10-28  1132  		val = i*10;
120b116208a087 Liam Howlett    2022-10-28  1133  		val2 = (i+1)*10;
120b116208a087 Liam Howlett    2022-10-28  1134  		check_store_range(mt, val, val2, xa_mk_value(val), 0);
120b116208a087 Liam Howlett    2022-10-28  1135  	}
120b116208a087 Liam Howlett    2022-10-28  1136  	check_store_range(mt, 161, 161, xa_mk_value(161), 0);
120b116208a087 Liam Howlett    2022-10-28  1137  	check_store_range(mt, 162, 162, xa_mk_value(162), 0);
120b116208a087 Liam Howlett    2022-10-28  1138  	check_store_range(mt, 163, 163, xa_mk_value(163), 0);
120b116208a087 Liam Howlett    2022-10-28  1139  	check_store_range(mt, 240, 249, NULL, 0);
120b116208a087 Liam Howlett    2022-10-28  1140  	mtree_erase(mt, 200);
120b116208a087 Liam Howlett    2022-10-28  1141  	mtree_erase(mt, 210);
120b116208a087 Liam Howlett    2022-10-28  1142  	mtree_erase(mt, 220);
120b116208a087 Liam Howlett    2022-10-28  1143  	mtree_erase(mt, 230);
120b116208a087 Liam Howlett    2022-10-28  1144  	mt_set_non_kernel(0);
120b116208a087 Liam Howlett    2022-10-28  1145  	MT_BUG_ON(mt, !mt_height(mt));
e15e06a8392321 Liam R. Howlett 2022-09-06  1146  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06  1147  
e15e06a8392321 Liam R. Howlett 2022-09-06  1148  	mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
120b116208a087 Liam Howlett    2022-10-28  1149  	for (i = 0; i <= 500; i++) {
120b116208a087 Liam Howlett    2022-10-28  1150  		val = i*10;
120b116208a087 Liam Howlett    2022-10-28  1151  		val2 = (i+1)*10;
120b116208a087 Liam Howlett    2022-10-28  1152  		check_store_range(mt, val, val2, xa_mk_value(val), 0);
120b116208a087 Liam Howlett    2022-10-28  1153  	}
120b116208a087 Liam Howlett    2022-10-28  1154  	check_store_range(mt, 4600, 4959, xa_mk_value(1), 0);
120b116208a087 Liam Howlett    2022-10-28  1155  	mt_validate(mt);
120b116208a087 Liam Howlett    2022-10-28  1156  	MT_BUG_ON(mt, !mt_height(mt));
e15e06a8392321 Liam R. Howlett 2022-09-06  1157  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06  1158  
e15e06a8392321 Liam R. Howlett 2022-09-06  1159  	mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
120b116208a087 Liam Howlett    2022-10-28  1160  	for (i = 0; i <= 500; i++) {
120b116208a087 Liam Howlett    2022-10-28  1161  		val = i*10;
120b116208a087 Liam Howlett    2022-10-28  1162  		val2 = (i+1)*10;
120b116208a087 Liam Howlett    2022-10-28  1163  		check_store_range(mt, val, val2, xa_mk_value(val), 0);
120b116208a087 Liam Howlett    2022-10-28  1164  	}
120b116208a087 Liam Howlett    2022-10-28  1165  	check_store_range(mt, 4811, 4811, xa_mk_value(4811), 0);
120b116208a087 Liam Howlett    2022-10-28  1166  	check_store_range(mt, 4812, 4812, xa_mk_value(4812), 0);
120b116208a087 Liam Howlett    2022-10-28  1167  	check_store_range(mt, 4861, 4861, xa_mk_value(4861), 0);
120b116208a087 Liam Howlett    2022-10-28  1168  	check_store_range(mt, 4862, 4862, xa_mk_value(4862), 0);
120b116208a087 Liam Howlett    2022-10-28  1169  	check_store_range(mt, 4842, 4849, NULL, 0);
120b116208a087 Liam Howlett    2022-10-28  1170  	mt_validate(mt);
120b116208a087 Liam Howlett    2022-10-28  1171  	MT_BUG_ON(mt, !mt_height(mt));
e15e06a8392321 Liam R. Howlett 2022-09-06  1172  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06  1173  
e15e06a8392321 Liam R. Howlett 2022-09-06  1174  	mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
120b116208a087 Liam Howlett    2022-10-28  1175  	for (i = 0; i <= 1300; i++) {
120b116208a087 Liam Howlett    2022-10-28  1176  		val = i*10;
120b116208a087 Liam Howlett    2022-10-28  1177  		val2 = (i+1)*10;
120b116208a087 Liam Howlett    2022-10-28  1178  		check_store_range(mt, val, val2, xa_mk_value(val), 0);
120b116208a087 Liam Howlett    2022-10-28  1179  		MT_BUG_ON(mt, mt_height(mt) >= 4);
120b116208a087 Liam Howlett    2022-10-28  1180  	}
120b116208a087 Liam Howlett    2022-10-28  1181  	/*  Cause a 3 child split all the way up the tree. */
120b116208a087 Liam Howlett    2022-10-28  1182  	for (i = 5; i < 215; i += 10)
120b116208a087 Liam Howlett    2022-10-28  1183  		check_store_range(mt, 11450 + i, 11450 + i + 1, NULL, 0);
120b116208a087 Liam Howlett    2022-10-28  1184  	for (i = 5; i < 65; i += 10)
120b116208a087 Liam Howlett    2022-10-28  1185  		check_store_range(mt, 11770 + i, 11770 + i + 1, NULL, 0);
e15e06a8392321 Liam R. Howlett 2022-09-06  1186  
120b116208a087 Liam Howlett    2022-10-28  1187  	MT_BUG_ON(mt, mt_height(mt) >= 4);
120b116208a087 Liam Howlett    2022-10-28  1188  	for (i = 5; i < 45; i += 10)
120b116208a087 Liam Howlett    2022-10-28  1189  		check_store_range(mt, 11700 + i, 11700 + i + 1, NULL, 0);
120b116208a087 Liam Howlett    2022-10-28  1190  	if (!MAPLE_32BIT)
120b116208a087 Liam Howlett    2022-10-28  1191  		MT_BUG_ON(mt, mt_height(mt) < 4);
e15e06a8392321 Liam R. Howlett 2022-09-06  1192  	mtree_destroy(mt);
e15e06a8392321 Liam R. Howlett 2022-09-06  1193  
e15e06a8392321 Liam R. Howlett 2022-09-06  1194  
e15e06a8392321 Liam R. Howlett 2022-09-06  1195  	mt_init_flags(mt, MT_FLAGS_ALLOC_RANGE);
120b116208a087 Liam Howlett    2022-10-28  1196  	for (i = 0; i <= 1200; i++) {
120b116208a087 Liam Howlett    2022-10-28  1197  		val = i*10;
120b116208a087 Liam Howlett    2022-10-28  1198  		val2 = (i+1)*10;
120b116208a087 Liam Howlett    2022-10-28  1199  		check_store_range(mt, val, val2, xa_mk_value(val), 0);
120b116208a087 Liam Howlett    2022-10-28  1200  		MT_BUG_ON(mt, mt_height(mt) >= 4);
e15e06a8392321 Liam R. Howlett 2022-09-06  1201  	}
120b116208a087 Liam Howlett    2022-10-28  1202  	/* Fill parents and leaves before split. */
120b116208a087 Liam Howlett    2022-10-28  1203  	for (i = 5; i < 455; i += 10)
120b116208a087 Liam Howlett    2022-10-28  1204  		check_store_range(mt, 7800 + i, 7800 + i + 1, NULL, 0);
e15e06a8392321 Liam R. Howlett 2022-09-06  1205  
120b116208a087 Liam Howlett    2022-10-28  1206  	for (i = 1; i < 16; i++)
120b116208a087 Liam Howlett    2022-10-28  1207  		check_store_range(mt, 8185 + i, 8185 + i + 1,
120b116208a087 Liam Howlett    2022-10-28  1208  				  xa_mk_value(8185+i), 0);
120b116208a087 Liam Howlett    2022-10-28  1209  	MT_BUG_ON(mt, mt_height(mt) >= 4);
120b116208a087 Liam Howlett    2022-10-28  1210  	/* triple split across multiple levels. */
120b116208a087 Liam Howlett    2022-10-28  1211  	check_store_range(mt, 8184, 8184, xa_mk_value(8184), 0);
120b116208a087 Liam Howlett    2022-10-28  1212  	if (!MAPLE_32BIT)
120b116208a087 Liam Howlett    2022-10-28  1213  		MT_BUG_ON(mt, mt_height(mt) != 4);
e15e06a8392321 Liam R. Howlett 2022-09-06  1214  }
e15e06a8392321 Liam R. Howlett 2022-09-06  1215  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

  reply	other threads:[~2023-04-26  3:24 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-25 14:09 [PATCH 00/34] Maple tree mas_{next,prev}_range() and cleanup Liam R. Howlett
2023-04-25 14:09 ` [PATCH 01/34] maple_tree: Fix static analyser cppcheck issue Liam R. Howlett
2023-04-26  4:06   ` Peng Zhang
2023-04-25 14:09 ` [PATCH 02/34] maple_tree: Clean up mas_parent_enum() Liam R. Howlett
2023-04-25 16:13   ` Wei Yang
2023-04-26  4:14   ` Peng Zhang
2023-04-26 21:07     ` Liam R. Howlett
2023-04-25 14:09 ` [PATCH 03/34] maple_tree: Avoid unnecessary ascending Liam R. Howlett
2023-04-26  5:27   ` Peng Zhang
2023-04-25 14:09 ` [PATCH 04/34] maple_tree: Clean up mas_dfs_postorder() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 05/34] maple_tree: Add format option to mt_dump() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 06/34] maple_tree: Add debug BUG_ON and WARN_ON variants Liam R. Howlett
2023-04-25 14:09 ` [PATCH 07/34] maple_tree: Convert BUG_ON() to MT_BUG_ON() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 08/34] maple_tree: Change RCU checks to WARN_ON() instead of BUG_ON() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 09/34] maple_tree: Convert debug code to use MT_WARN_ON() and MAS_WARN_ON() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 10/34] maple_tree: Use MAS_BUG_ON() when setting a leaf node as a parent Liam R. Howlett
2023-04-28 10:08   ` Petr Tesařík
2023-05-03 19:31     ` Liam R. Howlett
2023-04-25 14:09 ` [PATCH 11/34] maple_tree: Use MAS_BUG_ON() in mas_set_height() Liam R. Howlett
2023-04-28 10:10   ` Petr Tesařík
2023-05-03 19:33     ` Liam R. Howlett
2023-04-25 14:09 ` [PATCH 12/34] maple_tree: Use MAS_BUG_ON() from mas_topiary_range() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 13/34] maple_tree: Use MAS_WR_BUG_ON() in mas_store_prealloc() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 14/34] maple_tree: Use MAS_BUG_ON() prior to calling mas_meta_gap() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 15/34] maple_tree: Return error on mte_pivots() out of range Liam R. Howlett
2023-04-26  9:55   ` Peng Zhang
2023-04-25 14:09 ` [PATCH 16/34] maple_tree: Make test code work without debug enabled Liam R. Howlett
2023-04-26  3:23   ` kernel test robot [this message]
2023-04-25 14:09 ` [PATCH 17/34] mm: Update validate_mm() to use vma iterator Liam R. Howlett
2023-04-25 14:09 ` [PATCH 18/34] mm: Update vma_iter_store() to use MAS_WARN_ON() Liam R. Howlett
2023-04-27  1:07   ` Sergey Senozhatsky
2023-04-27  1:17     ` Liam R. Howlett
2023-04-25 14:09 ` [PATCH 19/34] maple_tree: Add __init and __exit to test module Liam R. Howlett
2023-04-25 14:09 ` [PATCH 20/34] maple_tree: Remove unnecessary check from mas_destroy() Liam R. Howlett
2023-04-26  9:59   ` Peng Zhang
2023-04-25 14:09 ` [PATCH 21/34] maple_tree: mas_start() reset depth on dead node Liam R. Howlett
2023-04-28  2:45   ` Peng Zhang
2023-04-25 14:09 ` [PATCH 22/34] mm/mmap: Change do_vmi_align_munmap() for maple tree iterator changes Liam R. Howlett
2023-04-25 14:09 ` [PATCH 23/34] maple_tree: Try harder to keep active node after mas_next() Liam R. Howlett
2023-05-04  2:44   ` kernel test robot
2023-04-25 14:09 ` [PATCH 24/34] maple_tree: Try harder to keep active node with mas_prev() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 25/34] maple_tree: Clear up index and last setting in single entry tree Liam R. Howlett
2023-04-27 11:19   ` Peng Zhang
2023-04-27 17:25     ` Liam R. Howlett
2023-04-25 14:09 ` [PATCH 26/34] maple_tree: Update testing code for mas_{next,prev,walk} Liam R. Howlett
2023-05-04  3:33   ` Peng Zhang
2023-05-04 18:50     ` Liam R. Howlett
2023-04-25 14:09 ` [PATCH 27/34] maple_tree: Introduce mas_next_slot() interface Liam R. Howlett
2023-04-26  1:21   ` kernel test robot
2023-04-26 13:16   ` kernel test robot
2023-04-28  6:48   ` Peng Zhang
2023-05-03 19:31     ` Liam R. Howlett
2023-04-28  8:39   ` kernel test robot
2023-04-25 14:09 ` [PATCH 28/34] maple_tree: Revise limit checks in mas_empty_area{_rev}() Liam R. Howlett
2023-04-28  7:06   ` Peng Zhang
2023-04-25 14:09 ` [PATCH 29/34] maple_tree: Introduce mas_prev_slot() interface Liam R. Howlett
2023-04-28  8:27   ` Peng Zhang
2023-05-03 19:29     ` Liam R. Howlett
2023-04-25 14:09 ` [PATCH 30/34] maple_tree: Fix comments for mas_next_entry() and mas_prev_entry() Liam R. Howlett
2023-04-25 14:09 ` [PATCH 31/34] maple_tree: Add mas_next_range() and mas_find_range() interfaces Liam R. Howlett
2023-04-25 14:09 ` [PATCH 32/34] maple_tree: Add mas_prev_range() and mas_find_range_rev interface Liam R. Howlett
2023-04-25 14:09 ` [PATCH 33/34] maple_tree: Add testing for mas_{prev,next}_range() Liam R. Howlett
2023-04-26  1:41   ` kernel test robot
2023-05-05 17:11     ` Liam R. Howlett
2023-04-25 14:09 ` [PATCH 34/34] mm: Add vma_iter_{next,prev}_range() to vma iterator Liam R. Howlett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202304261147.XQLxtmwo-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=maple-tree@lists.infradead.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.