[<prev] [next>] [day] [month] [year] [list]
Message-ID: <5cadedb0.hfOy3uMRXqUBltuk%lkp@intel.com>
Date: Wed, 10 Apr 2019 21:20:48 +0800
From: kernel test robot <lkp@...el.com>
To: Waiman Long <longman@...hat.com>
Cc: LKP <lkp@...org>, linux-kernel@...r.kernel.org,
Ingo Molnar <mingo@...nel.org>
Subject: 3b4ba6643d ("locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() .."): WARNING: CPU: 0 PID: 0 at kernel/locking/rwsem.h:273 up_write
Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.locking/core
commit 3b4ba6643d26a95e08067fca9a5da1828f9afabf
Author: Waiman Long <longman@...hat.com>
AuthorDate: Thu Apr 4 13:43:15 2019 -0400
Commit: Ingo Molnar <mingo@...nel.org>
CommitDate: Wed Apr 10 10:56:03 2019 +0200
locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
Currently, the DEBUG_RWSEMS_WARN_ON() macro just dumps a stack trace
when the rwsem isn't in the right state. It does not show the actual
states of the rwsem. This may not be that helpful in the debugging
process.
Enhance the DEBUG_RWSEMS_WARN_ON() macro to also show the current
content of the rwsem count and owner fields to give more information
about what is wrong with the rwsem. The debug_locks_off() function is
called as is done inside DEBUG_LOCKS_WARN_ON().
Signed-off-by: Waiman Long <longman@...hat.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Acked-by: Davidlohr Bueso <dbueso@...e.de>
Cc: Andrew Morton <akpm@...ux-foundation.org>
Cc: Arnd Bergmann <arnd@...db.de>
Cc: Borislav Petkov <bp@...en8.de>
Cc: Davidlohr Bueso <dave@...olabs.net>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Tim Chen <tim.c.chen@...ux.intel.com>
Cc: Will Deacon <will.deacon@....com>
Link: http://lkml.kernel.org/r/20190404174320.22416-7-longman@redhat.com
Signed-off-by: Ingo Molnar <mingo@...nel.org>
a68e2c4c63 locking/rwsem: Add debug check for __down_read*()
3b4ba6643d locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
5c587ed687 locking/rwsem: Remove redundant computation of writer lock word
31437a258f Merge branch 'perf/urgent'
+---------------------------------------------+------------+------------+------------+------------+
| | a68e2c4c63 | 3b4ba6643d | 5c587ed687 | 31437a258f |
+---------------------------------------------+------------+------------+------------+------------+
| boot_successes | 40 | 0 | 0 | 11 |
| boot_failures | 0 | 11 | 13 | |
| WARNING:at_kernel/locking/rwsem.h:#up_write | 0 | 11 | 13 | |
| EIP:up_write | 0 | 11 | 13 | |
+---------------------------------------------+------------+------------+------------+------------+
[ 0.191085] A-B-C-D-B-D-D-A deadlock: ok | ok | ok | ok | ok | ok | ok |
[ 0.197274] A-B-C-D-B-C-D-A deadlock: ok | ok | ok | ok | ok | ok | ok |
[ 0.203483] double unlock: ok | ok | ok | ok |
[ 0.205265] ------------[ cut here ]------------
[ 0.206323] DEBUG_RWSEMS_WARN_ON(sem->owner != current): count = 0x0, owner = 0x0, curr 0xd4657d00, list empty
[ 0.207250] WARNING: CPU: 0 PID: 0 at kernel/locking/rwsem.h:273 up_write+0x9f/0xb0
[ 0.208118] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G T 5.1.0-rc4-00065-g3b4ba66 #1
[ 0.208930] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 0.209691] EIP: up_write+0x9f/0xb0
[ 0.210021] Code: 05 b3 66 79 d4 01 39 ce be 3d af 51 d4 b9 8c cd 52 d4 0f 45 ce 8b 33 51 52 50 56 68 42 af 51 d4 68 b8 af 51 d4 e8 51 16 fb ff <0f> 0b 83 c4 18 eb b3 8d 76 00 8d bc 27 00 00 00 00 3e 8d 74 26 00
[ 0.211716] EAX: 00000062 EBX: d46c49e0 ECX: d36c6044 EDX: 00000002
[ 0.212294] ESI: 00000000 EDI: d3990d40 EBP: d464bf34 ESP: d464bf14
[ 0.212874] DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 EFLAGS: 00210286
[ 0.213495] CR0: 80050033 CR2: ffffffff CR3: 14a12000 CR4: 000406b0
[ 0.214076] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 0.214657] DR6: fffe0ff0 DR7: 00000400
[ 0.215018] Call Trace:
[ 0.215253] double_unlock_wsem+0x21/0x30
[ 0.215626] dotest+0x2a/0x5c0
[ 0.215918] locking_selftest+0x4d6/0x1cc0
[ 0.216301] start_kernel+0x358/0x42c
[ 0.216642] i386_start_kernel+0xac/0xb0
[ 0.217013] startup_32_smp+0x164/0x170
[ 0.217371] irq event stamp: 385
[ 0.217675] hardirqs last enabled at (385): [<d36c6075>] vprintk_emit+0x135/0x370
[ 0.218373] hardirqs last disabled at (384): [<d36c5f8c>] vprintk_emit+0x4c/0x370
[ 0.219063] softirqs last enabled at (0): [<00000000>] (null)
[ 0.219615] softirqs last disabled at (0): [<00000000>] (null)
[ 0.220173] random: get_random_bytes called from print_oops_end_marker+0x4f/0x60 with crng_init=0
[ 0.220988] ---[ end trace 7d35dc4b16298f6a ]---
[ 0.221416] ok | ok | ok |
# HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start 5c587ed687faed2eb0afdd669ddd167d0d940236 5e7a8ca319268a70a6c7c3c1fde5bea38e1e5539 --
git bisect bad fb346fd9fc081c3d978c3f3d26d39334527a2662 # 20:06 B 0 11 35 10 locking/lock_events: Make lock_events available for all archs & other locks
git bisect good eecec78f777742903ec9167490c625661284155d # 20:25 G 11 0 0 0 locking/rwsem: Relocate rwsem_down_read_failed()
git bisect good a338ecb07a338c9a8b0ca0010e862ebe598b1551 # 20:35 G 11 0 0 0 locking/rwsem: Micro-optimize rwsem_try_read_lock_unqueued()
git bisect bad 3b4ba6643d26a95e08067fca9a5da1828f9afabf # 20:50 B 0 10 24 0 locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
git bisect good a68e2c4c637918da47b3aa270051545cff7d8245 # 21:00 G 11 0 0 0 locking/rwsem: Add debug check for __down_read*()
# first bad commit: [3b4ba6643d26a95e08067fca9a5da1828f9afabf] locking/rwsem: Enhance DEBUG_RWSEMS_WARN_ON() macro
git bisect good a68e2c4c637918da47b3aa270051545cff7d8245 # 21:04 G 31 0 0 0 locking/rwsem: Add debug check for __down_read*()
# extra tests on HEAD of tip/WIP.locking/core
git bisect bad 5c587ed687faed2eb0afdd669ddd167d0d940236 # 21:04 B 0 13 30 0 locking/rwsem: Remove redundant computation of writer lock word
# extra tests on tree/branch tip/WIP.locking/core
git bisect bad 5c587ed687faed2eb0afdd669ddd167d0d940236 # 21:06 B 0 13 30 0 locking/rwsem: Remove redundant computation of writer lock word
# extra tests on tree/branch tip/master
git bisect good 31437a258fa637d7449385ef2e1b33efc6786397 # 21:20 G 11 0 0 0 Merge branch 'perf/urgent'
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation
Download attachment "dmesg-openwrt-vm-openwrt-107:20190410205018:i386-randconfig-m0-201914:5.1.0-rc4-00065-g3b4ba66:1.gz" of type "application/gzip" (17899 bytes)
View attachment "reproduce-openwrt-vm-openwrt-107:20190410205018:i386-randconfig-m0-201914:5.1.0-rc4-00065-g3b4ba66:1" of type "text/plain" (912 bytes)
View attachment "config-5.1.0-rc4-00065-g3b4ba66" of type "text/plain" (99288 bytes)
Powered by blists - more mailing lists