Greetings,
0day kernel testing robot got the below dmesg and the first bad commit is
https://github.com/jlelli/linux.git fixes/deadline/root-domain-account-v7
commit e38c57150538792404a4caa2fc62cf64e22a120f
Author: Juri Lelli <juri.lelli(a)redhat.com>
AuthorDate: Thu Aug 23 14:52:13 2018 +0200
Commit: Juri Lelli <juri.lelli(a)redhat.com>
CommitDate: Fri Mar 29 17:16:37 2019 +0100
sched/core: Prevent race condition between cpuset and __sched_setscheduler()
No synchronisation mechanism exists between the cpuset subsystem and calls
to function __sched_setscheduler(). As such, it is possible that new root
domains are created on the cpuset side while a deadline acceptance test
is carried out in __sched_setscheduler(), leading to a potential oversell
of CPU bandwidth.
Grab callback_lock from core scheduler, so to prevent situations such as
the one described above from happening.
Signed-off-by: Mathieu Poirier <mathieu.poirier(a)linaro.org>
Signed-off-by: Juri Lelli <juri.lelli(a)redhat.com>
---
v6->v7: take cpuset_read_only_lock before rq and pi locks, as to not
introdue an unwanted dependency between the former and the
latters (peterz)
c61fc953c4 cgroup/cpuset: make callback_lock raw
e38c571505 sched/core: Prevent race condition between cpuset and __sched_setscheduler()
996578d7c7 sched/deadline: Fix bandwidth accounting at all levels after offline
migration
+-------------------------------------------------+------------+------------+------------+
| | c61fc953c4 | e38c571505 | 996578d7c7
|
+-------------------------------------------------+------------+------------+------------+
| boot_successes | 32 | 0 | 0
|
| boot_failures | 5 | 33 | 19
|
| BUG:kernel_reboot-without-warning_in_test_stage | 5 | |
|
| WARNING:inconsistent_lock_state | 0 | 33 | 19
|
| inconsistent{IN-HARDIRQ-W}->{HARDIRQ-ON-W}usage | 0 | 33 | 19
|
| BUG:kernel_hang_in_boot_stage | 0 | 4 |
|
+-------------------------------------------------+------------+------------+------------+
[ 4.307051] ..... CPU clock speed is 2393.0403 MHz.
[ 4.307051] ..... host bus clock speed is 999.0783 MHz.
[ 4.308821] smpboot: CPU0: Intel Common KVM processor (family: 0xf, model: 0x6,
stepping: 0x1)
[ 4.310955]
[ 4.311051] ================================
[ 4.311051] WARNING: inconsistent lock state
[ 4.311051] 5.1.0-rc1-00005-ge38c571 #1 Not tainted
[ 4.311051] --------------------------------
[ 4.311051] inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
[ 4.311051] swapper/0/1 [HC0[0]:SC0[0]:HE1:SE1] takes:
[ 4.311051] (ptrval) (&rq->lock){?.-.}, at: __task_rq_lock+0x2e/0xc0
[ 4.311051] {IN-HARDIRQ-W} state was registered at:
[ 4.311051] lock_acquire+0x74/0x160
[ 4.311051] _raw_spin_lock+0x28/0x40
[ 4.311051] scheduler_tick+0x31/0x100
[ 4.311051] update_process_times+0x36/0x40
[ 4.311051] tick_periodic+0x32/0xc0
# HH:MM RESULT GOOD BAD
GOOD_BUT_DIRTY DIRTY_NOT_BAD
git bisect start 996578d7c7686ed2a7cec49a1469276fe4e7a0f6
9e98c678c2d6ae3a17cb2de55d17f69dddaa231b --
git bisect good c61fc953c4528763d0f7d7e21061f4d6bcf3cc80 # 04:08 G 10 0 0 0
cgroup/cpuset: make callback_lock raw
git bisect bad f0291f0e0dc1d62f3c511615f2f314a719682a5e # 04:16 B 0 5 19 0
cpuset: Rebuild root domain deadline accounting information
git bisect bad e38c57150538792404a4caa2fc62cf64e22a120f # 04:30 B 0 4 18 0
sched/core: Prevent race condition between cpuset and __sched_setscheduler()
# first bad commit: [e38c57150538792404a4caa2fc62cf64e22a120f] sched/core: Prevent race
condition between cpuset and __sched_setscheduler()
git bisect good c61fc953c4528763d0f7d7e21061f4d6bcf3cc80 # 04:38 G 31 0 0 5
cgroup/cpuset: make callback_lock raw
# extra tests on HEAD of jlelli/fixes/deadline/root-domain-account-v7
git bisect bad 996578d7c7686ed2a7cec49a1469276fe4e7a0f6 # 04:38 B 0 17 34 0
sched/deadline: Fix bandwidth accounting at all levels after offline migration
# extra tests on tree/branch jlelli/fixes/deadline/root-domain-account-v7
git bisect bad 996578d7c7686ed2a7cec49a1469276fe4e7a0f6 # 04:39 B 0 17 34 0
sched/deadline: Fix bandwidth accounting at all levels after offline migration
# extra tests with first bad commit reverted
git bisect good de294df0c9ea3880021ef134060da1efee61d6b2 # 04:55 G 11 0 0 0
Revert "sched/core: Prevent race condition between cpuset and
__sched_setscheduler()"
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/lkp Intel Corporation