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 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@lists.01.org Intel Corporation