[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202410190945.sGeQPUMr-lkp@intel.com>
Date: Sat, 19 Oct 2024 09:28:17 +0800
From: kernel test robot <lkp@...el.com>
To: Anjali Kulkarni <anjali.k.kulkarni@...cle.com>, davem@...emloft.net,
Liam.Howlett@...cle.com
Cc: oe-kbuild-all@...ts.linux.dev, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, mingo@...hat.com, peterz@...radead.org,
juri.lelli@...hat.com, vincent.guittot@...aro.org,
dietmar.eggemann@....com, rostedt@...dmis.org, bsegall@...gle.com,
mgorman@...e.de, vschneid@...hat.com, jiri@...nulli.us,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
akpm@...ux-foundation.org, shuah@...nel.org,
linux-kselftest@...r.kernel.org, anjali.k.kulkarni@...cle.com,
peili.io@...cle.com
Subject: Re: [PATCH net-next v5 2/3] connector/cn_proc: Kunit tests for
threads hash table
Hi Anjali,
kernel test robot noticed the following build errors:
[auto build test ERROR on net-next/main]
url: https://github.com/intel-lab-lkp/linux/commits/Anjali-Kulkarni/connector-cn_proc-Add-hash-table-for-threads/20241018-021755
base: net-next/main
patch link: https://lore.kernel.org/r/20241017181436.2047508-3-anjali.k.kulkarni%40oracle.com
patch subject: [PATCH net-next v5 2/3] connector/cn_proc: Kunit tests for threads hash table
config: sparc-randconfig-001-20241019 (https://download.01.org/0day-ci/archive/20241019/202410190945.sGeQPUMr-lkp@intel.com/config)
compiler: sparc-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241019/202410190945.sGeQPUMr-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410190945.sGeQPUMr-lkp@intel.com/
All errors (new ones prefixed by >>):
sparc-linux-ld: lib/cn_hash_test.o: in function `cn_hash_test_dup_del':
>> lib/cn_hash_test.c:140:(.text+0x44): undefined reference to `cn_del_get_exval'
>> sparc-linux-ld: lib/cn_hash_test.c:143:(.text+0xb4): undefined reference to `cn_del_get_exval'
>> sparc-linux-ld: lib/cn_hash_test.c:146:(.text+0x128): undefined reference to `cn_table_empty'
sparc-linux-ld: lib/cn_hash_test.o: in function `cn_display_htable':
>> lib/cn_hash_test.c:42:(.text+0x1f8): undefined reference to `cn_display_hlist'
sparc-linux-ld: lib/cn_hash_test.o: in function `cn_hash_test_del_get_exval':
lib/cn_hash_test.c:103:(.text+0x2bc): undefined reference to `cn_del_get_exval'
sparc-linux-ld: lib/cn_hash_test.c:109:(.text+0x350): undefined reference to `cn_table_empty'
sparc-linux-ld: lib/cn_hash_test.o: in function `cn_hash_test_dup_add':
>> lib/cn_hash_test.c:118:(.text+0x3f0): undefined reference to `cn_add_elem'
>> sparc-linux-ld: lib/cn_hash_test.c:121:(.text+0x458): undefined reference to `cn_get_exval'
>> sparc-linux-ld: lib/cn_hash_test.c:127:(.text+0x4d8): undefined reference to `cn_add_elem'
sparc-linux-ld: lib/cn_hash_test.c:130:(.text+0x540): undefined reference to `cn_get_exval'
sparc-linux-ld: lib/cn_hash_test.o: in function `cn_hash_test_del':
lib/cn_hash_test.c:85:(.text+0x5d0): undefined reference to `cn_del_get_exval'
sparc-linux-ld: lib/cn_hash_test.c:90:(.text+0x640): undefined reference to `cn_get_exval'
sparc-linux-ld: lib/cn_hash_test.c:95:(.text+0x6cc): undefined reference to `cn_table_empty'
sparc-linux-ld: lib/cn_hash_test.o: in function `cn_hash_test_add':
lib/cn_hash_test.c:67:(.text+0x7b4): undefined reference to `cn_add_elem'
sparc-linux-ld: lib/cn_hash_test.c:72:(.text+0x824): undefined reference to `cn_get_exval'
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for GET_FREE_REGION
Depends on [n]: SPARSEMEM [=n]
Selected by [y]:
- RESOURCE_KUNIT_TEST [=y] && RUNTIME_TESTING_MENU [=y] && KUNIT [=y]
vim +140 lib/cn_hash_test.c
31
32 static void cn_display_htable(struct kunit *test, int len)
33 {
34 int i, err;
35
36 cn_hash_init(test);
37
38 pr_debug("\n");
39 pr_debug("Displaying hash table:\n");
40
41 for (i = 0; i < len; i++) {
> 42 err = cn_display_hlist(adata[i].pid, len, &adata[i].key,
43 key_display);
44 key_display[adata[i].key] = 1;
45 KUNIT_EXPECT_EQ(test, err, 0);
46 }
47 }
48
49 static void cn_hash_test_add(struct kunit *test)
50 {
51 int err, i;
52 int exit_val;
53
54 adata[0].pid = 1;
55 adata[0].exit_val = 45;
56
57 adata[1].pid = 2;
58 adata[1].exit_val = 13;
59
60 adata[2].pid = 1024;
61 adata[2].exit_val = 16;
62
63 adata[3].pid = 1023;
64 adata[3].exit_val = 71;
65
66 for (i = 0; i < ARRAY_SIZE(adata); i++) {
67 err = cn_add_elem(adata[i].exit_val, adata[i].pid);
68 KUNIT_EXPECT_EQ_MSG(test, 0, err,
69 "Adding pid %d returned err %d",
70 adata[i].pid, err);
71
72 exit_val = cn_get_exval(adata[i].pid);
73 KUNIT_EXPECT_EQ(test, adata[i].exit_val, exit_val);
74 }
75
76 cn_display_htable(test, ARRAY_SIZE(adata));
77 }
78
79 static void cn_hash_test_del(struct kunit *test)
80 {
81 int i, err;
82 int exit_val;
83
84 for (i = 0; i < ARRAY_SIZE(adata); i++) {
85 err = cn_del_get_exval(adata[i].pid);
86 KUNIT_EXPECT_GT_MSG(test, err, 0,
87 "Deleting pid %d returned err %d",
88 adata[i].pid, err);
89
90 exit_val = cn_get_exval(adata[i].pid);
91 KUNIT_EXPECT_EQ(test, -EINVAL, exit_val);
92 }
93
94 cn_display_htable(test, ARRAY_SIZE(adata));
95 KUNIT_EXPECT_TRUE(test, cn_table_empty());
96 }
97
98 static void cn_hash_test_del_get_exval(struct kunit *test)
99 {
100 int i, exval;
101
102 for (i = 0; i < ARRAY_SIZE(adata); i++) {
103 exval = cn_del_get_exval(adata[i].pid);
104 KUNIT_EXPECT_EQ(test, adata[i].exit_val, exval);
105
106 cn_display_htable(test, ARRAY_SIZE(adata));
107 }
108
109 KUNIT_EXPECT_TRUE(test, cn_table_empty());
110 }
111 static void cn_hash_test_dup_add(struct kunit *test)
112 {
113 int err, exit_val;
114
115 adata[0].pid = 10;
116 adata[0].exit_val = 21;
117
> 118 err = cn_add_elem(adata[0].exit_val, adata[0].pid);
119 KUNIT_EXPECT_EQ(test, 0, err);
120
> 121 exit_val = cn_get_exval(adata[0].pid);
122 KUNIT_EXPECT_EQ(test, 21, exit_val);
123
124 adata[1].pid = 10;
125 adata[1].exit_val = 12;
126
> 127 err = cn_add_elem(adata[1].exit_val, adata[1].pid);
128 KUNIT_EXPECT_EQ(test, -EEXIST, err);
129
130 exit_val = cn_get_exval(adata[1].pid);
131 KUNIT_EXPECT_EQ(test, 21, exit_val);
132
133 cn_display_htable(test, 1);
134 }
135
136 static void cn_hash_test_dup_del(struct kunit *test)
137 {
138 int err;
139
> 140 err = cn_del_get_exval(adata[0].pid);
141 KUNIT_EXPECT_EQ(test, adata[0].exit_val, err);
142
> 143 err = cn_del_get_exval(adata[0].pid);
144 KUNIT_EXPECT_EQ(test, -EINVAL, err);
145
> 146 KUNIT_EXPECT_TRUE(test, cn_table_empty());
147 }
148
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists