Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
spin_unlock_wait_no.2017.06.29c
commit 7313b483ccf580931046edc1e7c58a6f809b19d1
Author: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
AuthorDate: Thu Jun 29 12:08:26 2017 -0700
Commit: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
CommitDate: Thu Jun 29 12:08:26 2017 -0700
sched: Replace spin_unlock_wait() with lock/unlock pair
There is no agreed-upon definition of spin_unlock_wait()'s semantics,
and it appears that all callers could do just as well with a lock/unlock
pair. This commit therefore replaces the spin_unlock_wait() call in
do_task_dead() with spin_lock() followed immediately by spin_unlock().
This should be safe from a performance perspective because the lock is
this tasks ->pi_lock, and this is called only after the task exits.
Signed-off-by: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo(a)redhat.com>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Cc: Will Deacon <will.deacon(a)arm.com>
Cc: Peter Zijlstra <peterz(a)infradead.org>
Cc: Alan Stern <stern(a)rowland.harvard.edu>
Cc: Andrea Parri <parri.andrea(a)gmail.com>
Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
46a4746d9a task_work: Replace spin_unlock_wait() with lock/unlock pair
7313b483cc sched: Replace spin_unlock_wait() with lock/unlock pair
e81efa4219 arch: Remove spin_unlock_wait() arch-specific definitions
+-------------------------------------------------+------------+------------+------------+
| | 46a4746d9a | 7313b483cc | e81efa4219
|
+-------------------------------------------------+------------+------------+------------+
| boot_successes | 35 | 0 | 0
|
| boot_failures | 0 | 15 | 19
|
| inconsistent{IN-SOFTIRQ-W}->{SOFTIRQ-ON-W}usage | 0 | 15 | 19
|
+-------------------------------------------------+------------+------------+------------+
[ 9.348645]
[ 9.348912] ================================
[ 9.352204] WARNING: inconsistent lock state
[ 9.358252] 4.12.0-rc4-00091-g7313b48 #1 Not tainted
[ 9.361203] --------------------------------
[ 9.361827] inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.
[ 9.368726] cryptomgr_test/23 [HC0[0]:SC0[0]:HE1:SE1] takes:
[ 9.374531] (&p->pi_lock){+.?...}, at: [<ffffffff81083fde>]
do_task_dead+0x1e/0x50
[ 9.382548] {IN-SOFTIRQ-W} state was registered at:
[ 9.387839] __lock_acquire+0x304/0x1220
[ 9.389695] lock_acquire+0x58/0x80
[ 9.390255] _raw_spin_lock_irqsave+0x41/0x60
[ 9.406126] try_to_wake_up+0x2e/0x1e0
[ 9.409355] wake_up_process+0x10/0x20
# HH:MM RESULT GOOD BAD
GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start 491f731a1620f1e94615d26de9bdf75bf808aece
08332893e37af6ae779367e78e444f8f9571511d --
git bisect good a4ef0e70bb0e8515d44dc742f30141edc7924ac2 # 04:33 G 11 0 0 0
Merge 'miklos-vfs/overlayfs-linus' into devel-catchup-201707010218
git bisect good 979475e6b7e5126f28fce63083e50747a9ac59d8 # 04:50 G 11 0 0 0
Merge 'vfs/for-next' into devel-catchup-201707010218
git bisect bad 888454bcfe157babe9dd408f9943f0ae981c5d23 # 05:00 B 0 1 13 0
Merge 'rcu/spin_unlock_wait_no.2017.06.29c' into devel-catchup-201707010218
git bisect good 3caec62fbb313946b9be53720bbf2280bb19ec28 # 05:21 G 11 0 0 0
rcu: Move rcu_expedited and rcu_normal externs from rcupdate.h
git bisect good 90040c9e3015054db7efa0101afdd446d1167fe8 # 05:35 G 11 0 0 0
rcu: Remove *_SLOW_* Kconfig options
git bisect good 43a0a2a7d725f2ed2547cd656749eb66c093f2c2 # 05:49 G 11 0 0 0
rcu: Move RCU debug Kconfig options to kernel/rcu
git bisect bad 7daa52aa27c23f125bdafccfde67db6c5da26939 # 06:03 B 0 11 25 2
completion: Replace spin_unlock_wait() with lock/unlock pair
git bisect good ee4c0fbd46e7874f15d5f7217cd0e172aad7d078 # 06:14 G 11 0 0 0
netfilter: Replace spin_unlock_wait() with lock/unlock pair
git bisect bad 7313b483ccf580931046edc1e7c58a6f809b19d1 # 06:22 B 0 2 14 0
sched: Replace spin_unlock_wait() with lock/unlock pair
git bisect good 46a4746d9a364a9b0267c19be0f8419e9b72ad37 # 06:35 G 11 0 0 0
task_work: Replace spin_unlock_wait() with lock/unlock pair
# first bad commit: [7313b483ccf580931046edc1e7c58a6f809b19d1] sched: Replace
spin_unlock_wait() with lock/unlock pair
git bisect good 46a4746d9a364a9b0267c19be0f8419e9b72ad37 # 06:37 G 31 0 0 0
task_work: Replace spin_unlock_wait() with lock/unlock pair
# extra tests with CONFIG_DEBUG_INFO_REDUCED
git bisect bad 7313b483ccf580931046edc1e7c58a6f809b19d1 # 06:46 B 0 11 24 0
sched: Replace spin_unlock_wait() with lock/unlock pair
# extra tests on HEAD of linux-devel/devel-catchup-201707010218
git bisect bad 491f731a1620f1e94615d26de9bdf75bf808aece # 06:46 B 0 33 48 0
0day head guard for 'devel-catchup-201707010218'
# extra tests on tree/branch rcu/spin_unlock_wait_no.2017.06.29c
git bisect bad e81efa4219e9b07e476448572aafe8f9c4ad28c8 # 07:05 B 0 1 13 0
arch: Remove spin_unlock_wait() arch-specific definitions
# extra tests with first bad commit reverted
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation