Re: [PATCH v4 5/7] locking/lockdep: Track number of zapped lock chains

From: kbuild test robot
Date: Fri Jan 24 2020 - 15:16:27 EST


Hi Waiman,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/locking/core]
[also build test ERROR on tip/auto-latest arm-perf/for-next/perf v5.5-rc7 next-20200124]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Waiman-Long/locking-lockdep-Reuse-zapped-chain_hlocks-entries/20200124-085419
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git f5bfdc8e3947a7ae489cf8ae9cfd6b3fb357b952
config: x86_64-randconfig-f003-20200124 (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

ld: kernel/locking/lockdep_proc.o: in function `lockdep_stats_show':
>> kernel/locking/lockdep_proc.c:352: undefined reference to `nr_zapped_lock_chains'

vim +352 kernel/locking/lockdep_proc.c

284
285 #ifdef CONFIG_TRACE_IRQFLAGS
286 seq_printf(m, " in-hardirq chains: %11u\n",
287 nr_hardirq_chains);
288 seq_printf(m, " in-softirq chains: %11u\n",
289 nr_softirq_chains);
290 #endif
291 seq_printf(m, " in-process chains: %11u\n",
292 nr_process_chains);
293 seq_printf(m, " stack-trace entries: %11lu [max: %lu]\n",
294 nr_stack_trace_entries, MAX_STACK_TRACE_ENTRIES);
295 #if defined(CONFIG_TRACE_IRQFLAGS) && defined(CONFIG_PROVE_LOCKING)
296 seq_printf(m, " number of stack traces: %11llu\n",
297 lockdep_stack_trace_count());
298 seq_printf(m, " number of stack hash chains: %11llu\n",
299 lockdep_stack_hash_count());
300 #endif
301 seq_printf(m, " combined max dependencies: %11u\n",
302 (nr_hardirq_chains + 1) *
303 (nr_softirq_chains + 1) *
304 (nr_process_chains + 1)
305 );
306 seq_printf(m, " hardirq-safe locks: %11lu\n",
307 nr_hardirq_safe);
308 seq_printf(m, " hardirq-unsafe locks: %11lu\n",
309 nr_hardirq_unsafe);
310 seq_printf(m, " softirq-safe locks: %11lu\n",
311 nr_softirq_safe);
312 seq_printf(m, " softirq-unsafe locks: %11lu\n",
313 nr_softirq_unsafe);
314 seq_printf(m, " irq-safe locks: %11lu\n",
315 nr_irq_safe);
316 seq_printf(m, " irq-unsafe locks: %11lu\n",
317 nr_irq_unsafe);
318
319 seq_printf(m, " hardirq-read-safe locks: %11lu\n",
320 nr_hardirq_read_safe);
321 seq_printf(m, " hardirq-read-unsafe locks: %11lu\n",
322 nr_hardirq_read_unsafe);
323 seq_printf(m, " softirq-read-safe locks: %11lu\n",
324 nr_softirq_read_safe);
325 seq_printf(m, " softirq-read-unsafe locks: %11lu\n",
326 nr_softirq_read_unsafe);
327 seq_printf(m, " irq-read-safe locks: %11lu\n",
328 nr_irq_read_safe);
329 seq_printf(m, " irq-read-unsafe locks: %11lu\n",
330 nr_irq_read_unsafe);
331
332 seq_printf(m, " uncategorized locks: %11lu\n",
333 nr_uncategorized);
334 seq_printf(m, " unused locks: %11lu\n",
335 nr_unused);
336 seq_printf(m, " max locking depth: %11u\n",
337 max_lockdep_depth);
338 #ifdef CONFIG_PROVE_LOCKING
339 seq_printf(m, " max bfs queue depth: %11u\n",
340 max_bfs_queue_depth);
341 #endif
342 lockdep_stats_debug_show(m);
343 seq_printf(m, " debug_locks: %11u\n",
344 debug_locks);
345
346 /*
347 * Zappped classes and lockdep data buffers reuse statistics.
348 */
349 seq_puts(m, "\n");
350 seq_printf(m, " zapped classes: %11lu\n",
351 nr_zapped_classes);
> 352 seq_printf(m, " zapped lock chains: %11lu\n",
353 nr_zapped_lock_chains);
354 return 0;
355 }
356

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation

Attachment: .config.gz
Description: application/gzip