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
next prev parent 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.