Re: [PATCH v3 1/8] locking/lockdep: Decrement irq context counters when removing lock chain

From: kbuild test robot
Date: Fri Jan 17 2020 - 13:14:39 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 linus/master arm-perf/for-next/perf v5.5-rc6 next-20200117]
[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/20200117-093009
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 1a365e822372ba24c9da0822bc583894f6f3d821
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 7.5.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.5.0 make.cross ARCH=sparc64

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

All error/warnings (new ones prefixed by >>):

kernel/locking/lockdep.c: In function 'inc_chains':
>> kernel/locking/lockdep.c:2304:20: error: 'LOCK_CHAIN_HARDIRQ_CONTEXT' undeclared (first use in this function); did you mean 'LOCK_USED_IN_HARDIRQ_READ'?
if (irq_context & LOCK_CHAIN_HARDIRQ_CONTEXT)
^~~~~~~~~~~~~~~~~~~~~~~~~~
LOCK_USED_IN_HARDIRQ_READ
kernel/locking/lockdep.c:2304:20: note: each undeclared identifier is reported only once for each function it appears in
>> kernel/locking/lockdep.c:2306:25: error: 'LOCK_CHAIN_SOFTIRQ_CONTEXT' undeclared (first use in this function); did you mean 'LOCK_CHAIN_HARDIRQ_CONTEXT'?
else if (irq_context & LOCK_CHAIN_SOFTIRQ_CONTEXT)
^~~~~~~~~~~~~~~~~~~~~~~~~~
LOCK_CHAIN_HARDIRQ_CONTEXT
kernel/locking/lockdep.c: In function 'dec_chains':
kernel/locking/lockdep.c:2314:20: error: 'LOCK_CHAIN_HARDIRQ_CONTEXT' undeclared (first use in this function); did you mean 'LOCK_USED_IN_HARDIRQ_READ'?
if (irq_context & LOCK_CHAIN_HARDIRQ_CONTEXT)
^~~~~~~~~~~~~~~~~~~~~~~~~~
LOCK_USED_IN_HARDIRQ_READ
kernel/locking/lockdep.c:2316:25: error: 'LOCK_CHAIN_SOFTIRQ_CONTEXT' undeclared (first use in this function); did you mean 'LOCK_CHAIN_HARDIRQ_CONTEXT'?
else if (irq_context & LOCK_CHAIN_SOFTIRQ_CONTEXT)
^~~~~~~~~~~~~~~~~~~~~~~~~~
LOCK_CHAIN_HARDIRQ_CONTEXT
kernel/locking/lockdep.c: In function 'task_irq_context':
kernel/locking/lockdep.c:3612:9: error: 'LOCK_CHAIN_HARDIRQ_CONTEXT' undeclared (first use in this function); did you mean 'LOCK_USED_IN_HARDIRQ_READ'?
return LOCK_CHAIN_HARDIRQ_CONTEXT * !!task->hardirq_context +
^~~~~~~~~~~~~~~~~~~~~~~~~~
LOCK_USED_IN_HARDIRQ_READ
kernel/locking/lockdep.c:3613:9: error: 'LOCK_CHAIN_SOFTIRQ_CONTEXT' undeclared (first use in this function); did you mean 'LOCK_CHAIN_HARDIRQ_CONTEXT'?
LOCK_CHAIN_SOFTIRQ_CONTEXT * !!task->softirq_context;
^~~~~~~~~~~~~~~~~~~~~~~~~~
LOCK_CHAIN_HARDIRQ_CONTEXT
>> kernel/locking/lockdep.c:3614:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^

vim +2304 kernel/locking/lockdep.c

2301
2302 static void inc_chains(int irq_context)
2303 {
> 2304 if (irq_context & LOCK_CHAIN_HARDIRQ_CONTEXT)
2305 nr_hardirq_chains++;
> 2306 else if (irq_context & LOCK_CHAIN_SOFTIRQ_CONTEXT)
2307 nr_softirq_chains++;
2308 else
2309 nr_process_chains++;
2310 }
2311

---
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