Web lists-archives.com

Re: [sched/core] 8a8c69c327: WARNING: CPU: 0 PID: 8 at kernel/locking/lockdep.c:3548 lock_release




2017-03-17 4:02 GMT+08:00 kernel test robot <fengguang.wu@xxxxxxxxx>:
> 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 sched/core
>
> commit 8a8c69c32778865affcedc2111bb5d938b50516f
> Author:     Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> AuthorDate: Tue Oct 4 16:04:35 2016 +0200
> Commit:     Ingo Molnar <mingo@xxxxxxxxxx>
> CommitDate: Thu Mar 16 09:46:22 2017 +0100
>
>     sched/core: Add rq->lock wrappers
>
>     The missing update_rq_clock() check can work with partial rq->lock
>     wrappery, since a missing wrapper can cause the warning to not be
>     emitted when it should have, but cannot cause the warning to trigger
>     when it should not have.
>
>     The duplicate update_rq_clock() check however can cause false warnings
>     to trigger. Therefore add more comprehensive rq->lock wrappery.
>
>     Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
>     Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
>     Cc: Mike Galbraith <efault@xxxxxx>
>     Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>     Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>     Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>

Please refer to: https://lkml.org/lkml/2017/3/16/1131

Regards,
Wanpeng Li

>
> 26ae58d23b  sched/core: Add WARNING for multiple update_rq_clock() calls
> 8a8c69c327  sched/core: Add rq->lock wrappers
> 15ff991e80  sched/core: Avoid double update_rq_clock() in move_queued_task()
> 69f0dcef5b  Merge branch 'timers/urgent'
> +------------------------------------------------------+------------+------------+------------+------------+
> |                                                      | 26ae58d23b | 8a8c69c327 | 15ff991e80 | 69f0dcef5b |
> +------------------------------------------------------+------------+------------+------------+------------+
> | boot_successes                                       | 39         | 6          | 7          | 5          |
> | boot_failures                                        | 0          | 10         | 9          | 9          |
> | WARNING:at_kernel/locking/lockdep.c:#lock_release    | 0          | 10         | 9          | 9          |
> | WARNING:at_kernel/locking/lockdep.c:#lock_unpin_lock | 0          | 10         | 9          | 9          |
> +------------------------------------------------------+------------+------------+------------+------------+
>
> [main] Setsockopt(1 28 68b000 4) on fd 376 [16:3:0]
> [main] Setsockopt(1 b 68b000 fc) on fd 377 [1:2:1]
> [main] Setsockopt(1 e 68b000 f2) on fd 381 [1:2:1]
> [main] 375 sockets created based on info from socket cachefile.
> [   17.557099] ------------[ cut here ]------------
> [   17.557589] WARNING: CPU: 0 PID: 8 at kernel/locking/lockdep.c:3548 lock_release+0x302/0x550
> [   17.558684] releasing a pinned lock
> [   17.559073] Modules linked in:
> [   17.559412] CPU: 0 PID: 8 Comm: rcu_sched Not tainted 4.11.0-rc2-00217-g8a8c69c #5
> [   17.560228] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
> [   17.561316] Call Trace:
> [   17.561590]  dump_stack+0x86/0xc1
> [   17.561946]  __warn+0xbb/0xe0
> [   17.562259]  ? push_rt_task+0xec/0x2b0
> [   17.562649]  warn_slowpath_fmt+0x4a/0x50
> [   17.563062]  ? sched_clock+0x9/0x10
> [   17.563426]  lock_release+0x302/0x550
> [   17.563807]  _raw_spin_unlock+0x1a/0x40
> [   17.564213]  push_rt_task+0xec/0x2b0
> [   17.564585]  push_rt_tasks+0x10/0x20
> [   17.564969]  __balance_callback+0x7e/0x90
> [   17.565403]  __schedule+0x55d/0x660
> [   17.565784]  schedule+0x23/0x40
> [   17.566136]  rcu_gp_kthread+0xae/0xa50
> [   17.566544]  kthread+0x125/0x130
> [   17.566904]  ? force_qs_rnp+0x1f0/0x1f0
> [   17.567320]  ? __kthread_bind_mask+0x70/0x70
> [   17.567780]  ret_from_fork+0x31/0x40
> [   17.568190] ---[ end trace a3dc39f9b76a0708 ]---
> [   17.568764] ------------[ cut here ]------------
> [   17.568764] ------------[ cut here ]------------
> [   17.569251] WARNING: CPU: 0 PID: 8 at kernel/locking/lockdep.c:3670 lock_unpin_lock+0xcd/0x140
> [   17.570311] unpinning an unpinned lock
> [   17.570696] Modules linked in:
> [   17.571022] CPU: 0 PID: 8 Comm: rcu_sched Tainted: G        W       4.11.0-rc2-00217-g8a8c69c #5
> [   17.571933] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014
> [   17.573011] Call Trace:
> [   17.573284]  dump_stack+0x86/0xc1
> [   17.573644]  __warn+0xbb/0xe0
> [   17.573975]  warn_slowpath_fmt+0x4a/0x50
> [   17.574398]  lock_unpin_lock+0xcd/0x140
> [   17.574811]  __balance_callback+0x55/0x90
> [   17.575241]  __schedule+0x55d/0x660
> [   17.575604]  schedule+0x23/0x40
> [   17.575939]  rcu_gp_kthread+0xae/0xa50
> [   17.576327]  kthread+0x125/0x130
> [   17.576663]  ? force_qs_rnp+0x1f0/0x1f0
> [   17.577064]  ? __kthread_bind_mask+0x70/0x70
> [   17.577503]  ret_from_fork+0x31/0x40
> [   17.577885] ---[ end trace a3dc39f9b76a0709 ]---
> [main] Generating file descriptors
>
>                                                          # HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
> git bisect start 6b636a485c6caff6e9b24011298eafba3ca2a8ee 4495c08e84729385774601b5146d51d9e5849f81 --
> git bisect  bad 55bc6d7f980cff4f3c64a8bb68dbcc8f21bf6c6d  # 01:11  B      0    12   23   0  Merge 'input/master' into devel-spot-201703162058
> git bisect  bad b5a68e900a6fef3d4bfba66492870fc8a9716b29  # 01:31  B      0     1   12   0  Merge 'usb/usb-testing' into devel-spot-201703162058
> git bisect  bad fc33633bf286c6dd7034b68da01d29734b597494  # 01:41  B      3     8    0   2  Merge 'pza/imx-drm/next' into devel-spot-201703162058
> git bisect  bad 90e002d71f66656e07086db304de3cc47db8f648  # 02:00  B      3     9    0   0  Merge 'tip/sched/core' into devel-spot-201703162058
> git bisect good 656fda9ce4b5c22bc3dc0d5f02d49413aa8b6d13  # 02:10  G     12     0    0   0  Merge 'tip/locking/urgent' into devel-spot-201703162058
> git bisect good 501434c37e631976e649a83a7c931e0f326ce580  # 02:20  G     12     0    0   0  Merge 'tip/x86/mm' into devel-spot-201703162058
> git bisect good a911686589f1804905e99a290e7505e2b77b57d5  # 02:34  G     12     0    0   0  Merge 'tip/sched/urgent' into devel-spot-201703162058
> git bisect  bad 7134b3e941613dcb959b4b178cc4a35e45cbbc0d  # 02:46  B      3     9    0   0  sched/core: Add ENQUEUE_NOCLOCK to ENQUEUE_RESTORE
> git bisect good 26ae58d23b94a075ae724fd18783a3773131cfbc  # 02:57  G     12     0    0   0  sched/core: Add WARNING for multiple update_rq_clock() calls
> git bisect  bad 0a67d1ee30ef1efe6a412b3590e08734902aed43  # 03:09  B      0     8   19   0  sched/core: Add {EN,DE}QUEUE_NOCLOCK flags
> git bisect  bad 8a8c69c32778865affcedc2111bb5d938b50516f  # 03:18  B      3     4    0   1  sched/core: Add rq->lock wrappers
> # first bad commit: [8a8c69c32778865affcedc2111bb5d938b50516f] sched/core: Add rq->lock wrappers
> git bisect good 26ae58d23b94a075ae724fd18783a3773131cfbc  # 03:26  G     33     0    0   0  sched/core: Add WARNING for multiple update_rq_clock() calls
> # extra tests with CONFIG_DEBUG_INFO_REDUCED
> git bisect  bad 8a8c69c32778865affcedc2111bb5d938b50516f  # 03:38  B      2     7    0   0  sched/core: Add rq->lock wrappers
> # extra tests on HEAD of linux-devel/devel-spot-201703162058
> git bisect  bad 6b636a485c6caff6e9b24011298eafba3ca2a8ee  # 03:38  B      2    13    0   2  0day head guard for 'devel-spot-201703162058'
> # extra tests on tree/branch tip/sched/core
> git bisect  bad 15ff991e8047561bb4a4e800ec60f60939be5fd4  # 03:50  B      5     7    0   1  sched/core: Avoid double update_rq_clock() in move_queued_task()
> # extra tests on tree/branch tip/master
> git bisect  bad 69f0dcef5b048e05c7dd0818dd746cc2a6840aa1  # 04:02  B      5     9    0   0  Merge branch 'timers/urgent'
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/lkp                          Intel Corporation