FYI, we noticed the following commit:
https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git
linux-4.8.y-rt-rebase
commit d6d613dc22d8d7b10f712178182a159953fe368b ("cgroups: use simple wait in
css_release()")
in testcase: hackbench
with following parameters:
nr_threads: 1600%
mode: process
ipc: socket
Hackbench is both a benchmark and a stress test for the Linux kernel scheduler.
on test machine: qemu-system-x86_64 -enable-kvm -cpu qemu64,+ssse3 -smp 4 -m 4G
caused below changes:
+-------------------------------------------------------------------------------+------------+------------+
| |
c166e39799 | d6d613dc22 |
+-------------------------------------------------------------------------------+------------+------------+
| boot_successes | 1
| 2 |
| boot_failures | 15
| 13 |
| BUG:kernel_reboot-without-warning_in_test_stage | 1
| |
| BUG:sleeping_function_called_from_invalid_context_at_kernel/locking/rtmutex.c | 14
| 13 |
| calltrace:__put_task_struct_cb | 14
| |
| calltrace:smpboot_thread_fn | 14
| |
| calltrace:ret_from_fork | 12
| |
| calltrace:nfs4_run_state_manager | 0
| 13 |
| BUG:scheduling_while_atomic | 0
| 13 |
| WARNING:at_kernel/sched/core.c:#migrate_enable | 0
| 13 |
| WARNING:at_kernel/sched/core.c:#migrate_disable | 0
| 13 |
| WARNING:at_kernel/time/timer.c:#del_timer_sync | 0
| 6 |
| WARNING:at_kernel/locking/rtmutex.c:#rt_mutex_trylock | 0
| 6 |
+-------------------------------------------------------------------------------+------------+------------+
[ 34.011938] Running in process mode with 64 groups using 40 file descriptors each (==
2560 tasks)
[ 34.024390] Each sender will pass 1875 messages of 100 bytes
[ 34.641863] random: crng init done
[ 64.547244] BUG: sleeping function called from invalid context at
kernel/locking/rtmutex.c:931
[ 64.547246] in_atomic(): 1, irqs_disabled(): 0, pid: 3398, name: 192.168.1.1-man
[ 64.547247] no locks held by 192.168.1.1-man/3398.
[ 64.547250] CPU: 0 PID: 3398 Comm: 192.168.1.1-man Not tainted 4.8.0-00284-gd6d613d
#42
[ 64.547251] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Debian-1.8.2-1
04/01/2014
[ 64.547256] 0000000000000000 ffff88010649bc88 ffffffff81401c8f ffff880106e14800
[ 64.547258] ffff880125bc18c8 ffff88010649bca0 ffffffff8109da74 ffff8801237a0308
[ 64.547260] ffff88010649bcb8 ffffffff81cb45da ffff880125ca2c00 ffff88010649bce0
[ 64.547260] Call Trace:
[ 64.547267] [<ffffffff81401c8f>] dump_stack+0x61/0x7e
[ 64.547270] [<ffffffff8109da74>] ___might_sleep+0x113/0x116
[ 64.547274] [<ffffffff81cb45da>] rt_spin_lock+0x1b/0x52
[ 64.547278] [<ffffffff8124a511>] nfs4_state_find_open_context+0x24/0x7a
[ 64.547280] [<ffffffff8124cce4>] nfs40_open_expired+0x96/0x17b
[ 64.547282] [<ffffffff81cb3675>] ? rt_spin_lock_slowunlock+0x71/0xbc
[ 64.547285] [<ffffffff81257f38>] nfs4_do_reclaim+0x1d8/0x60d
[ 64.547286] [<ffffffff81257f38>] ? nfs4_do_reclaim+0x1d8/0x60d
[ 64.547290] [<ffffffff81c714dc>] ? put_rpccred+0x39/0x110
[ 64.547292] [<ffffffff812587ce>] nfs4_state_manager+0x461/0x55a
[ 64.547293] [<ffffffff812588c7>] ? nfs4_state_manager+0x55a/0x55a
[ 64.547295] [<ffffffff812588e6>] nfs4_run_state_manager+0x1f/0x2e
[ 64.547298] [<ffffffff81093126>] kthread+0xf6/0xfe
[ 64.547301] [<ffffffff81cb4f9f>] ret_from_fork+0x1f/0x40
[ 64.547302] [<ffffffff81093030>] ? __kthread_parkme+0x7e/0x7e
[ 64.547330] BUG: scheduling while atomic: 192.168.1.1-man/3398/0x00000002
[ 64.547331] no locks held by 192.168.1.1-man/3398.
[ 64.547332] CPU: 0 PID: 3398 Comm: 192.168.1.1-man Not tainted 4.8.0-00284-gd6d613d
#42
[ 64.547333] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Debian-1.8.2-1
04/01/2014
[ 64.547335] 0000000000000000 ffff88010649ba98 ffffffff81401c8f ffff880106e14800
[ 64.547337] 0000000000000082 ffff88010649bab0 ffffffff81097087 ffff88013afd90c0
[ 64.547339] ffff88010649baf8 ffffffff81cb1950 ffff88010649bab8 ffff880106e14800
[ 64.547339] Call Trace:
[ 64.547341] [<ffffffff81401c8f>] dump_stack+0x61/0x7e
[ 64.547344] [<ffffffff81097087>] __schedule_bug+0x60/0x6f
[ 64.547346] [<ffffffff81cb1950>] __schedule+0x60/0x4c3
[ 64.547348] [<ffffffff81c6fca3>] ? rpc_prepare_task+0x16/0x16
[ 64.547349] [<ffffffff81cb1e87>] schedule+0x93/0xc7
[ 64.547351] [<ffffffff81c6fcc2>] rpc_wait_bit_killable+0x1f/0xa1
[ 64.547353] [<ffffffff81cb234f>] __wait_on_bit+0x48/0x76
[ 64.547354] [<ffffffff81cb246e>] out_of_line_wait_on_bit+0x6a/0x6c
[ 64.547356] [<ffffffff81c6fca3>] ? rpc_prepare_task+0x16/0x16
[ 64.547359] [<ffffffff810ab6e8>] ? autoremove_wake_function+0x2f/0x2f
[ 64.547361] [<ffffffff81c70428>] __rpc_wait_for_completion_task+0x28/0x2a
[ 64.547363] [<ffffffff8124be7d>] nfs4_run_open_task+0x12d/0x15a
[ 64.547365] [<ffffffff8124c677>] nfs4_open_recover_helper+0x13b/0x1b6
[ 64.547367] [<ffffffff8124c74b>] nfs4_open_recover+0x59/0x111
[ 64.547368] [<ffffffff8124cd39>] nfs40_open_expired+0xeb/0x17b
[ 64.547370] [<ffffffff8124cd39>] ? nfs40_open_expired+0xeb/0x17b
[ 64.547371] [<ffffffff81257f38>] nfs4_do_reclaim+0x1d8/0x60d
[ 64.547373] [<ffffffff81257f38>] ? nfs4_do_reclaim+0x1d8/0x60d
[ 64.547375] [<ffffffff81c714dc>] ? put_rpccred+0x39/0x110
[ 64.547376] [<ffffffff812587ce>] nfs4_state_manager+0x461/0x55a
[ 64.547378] [<ffffffff812588c7>] ? nfs4_state_manager+0x55a/0x55a
[ 64.547379] [<ffffffff812588e6>] nfs4_run_state_manager+0x1f/0x2e
[ 64.547381] [<ffffffff81093126>] kthread+0xf6/0xfe
[ 64.547383] [<ffffffff81cb4f9f>] ret_from_fork+0x1f/0x40
[ 64.547384] [<ffffffff81093030>] ? __kthread_parkme+0x7e/0x7e
[ 64.548003] ------------[ cut here ]------------
[ 64.549687] ------------[ cut here ]------------
[ 64.549691] WARNING: CPU: 0 PID: 3398 at kernel/sched/core.c:3415
migrate_enable+0x5e/0x123
[ 64.549693] CPU: 0 PID: 3398 Comm: 192.168.1.1-man Tainted: G W
4.8.0-00284-gd6d613d #42
[ 64.549694] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Debian-1.8.2-1
04/01/2014
[ 64.549697] 0000000000000000 ffff88010649b8c0 ffffffff81401c8f 0000000000000000
[ 64.549700] ffffffff8220dd5e ffff88010649b900 ffffffff8107a332 00000d57000002f5
[ 64.549702] ffff880106e14800 0000000000000001 0000000000000000 ffffffff832dfea0
[ 64.549702] Call Trace:
[ 64.549704] [<ffffffff81401c8f>] dump_stack+0x61/0x7e
[ 64.549709] [<ffffffff8107a332>] __warn+0xb3/0xce
[ 64.549712] [<ffffffff8107a3fa>] warn_slowpath_null+0x18/0x1a
[ 64.549714] [<ffffffff8109a17d>] migrate_enable+0x5e/0x123
[ 64.549716] [<ffffffff81cb470b>] rt_spin_unlock+0x2a/0x2d
[ 64.549722] [<ffffffff8151fad7>] serial8250_console_write+0x1b1/0x1c8
[ 64.549724] [<ffffffff810b7926>] ? print_time+0x4f/0x53
[ 64.549726] [<ffffffff810b82b1>] ? print_prefix+0x85/0x8f
[ 64.549728] [<ffffffff8151b66d>] univ8250_console_write+0x1c/0x1e
[ 64.549730] [<ffffffff810b7b23>] call_console_drivers+0xaa/0xc0
[ 64.549732] [<ffffffff810b94a5>] console_unlock+0x4b0/0x4e6
[ 64.549734] [<ffffffff810b990c>] vprintk_emit+0x431/0x489
[ 64.549736] [<ffffffff8109a0b8>] ? migrate_disable+0x60/0xc7
[ 64.549738] [<ffffffff810b9ac6>] vprintk_default+0x18/0x1a
[ 64.549740] [<ffffffff81103e4e>] printk+0x43/0x4b
[ 64.549744] [<ffffffff8103ad24>] ? kvm_sched_clock_read+0x9/0x12
[ 64.549746] [<ffffffff8109a0b8>] ? migrate_disable+0x60/0xc7
[ 64.549748] [<ffffffff8107a2ac>] __warn+0x2d/0xce
[ 64.549750] [<ffffffff8107a3fa>] warn_slowpath_null+0x18/0x1a
[ 64.549752] [<ffffffff8109a0b8>] migrate_disable+0x60/0xc7
[ 64.549754] [<ffffffff81cb45df>] rt_spin_lock+0x20/0x52
[ 64.549756] [<ffffffff81c6a06a>] rpc_run_task+0xae/0x132
[ 64.549758] [<ffffffff8124bfca>] _nfs4_proc_open_confirm+0x120/0x162
[ 64.549760] [<ffffffff8124c6d8>] nfs4_open_recover_helper+0x19c/0x1b6
[ 64.549762] [<ffffffff8124c74b>] nfs4_open_recover+0x59/0x111
[ 64.549764] [<ffffffff8124cd39>] nfs40_open_expired+0xeb/0x17b
[ 64.549766] [<ffffffff8124cd39>] ? nfs40_open_expired+0xeb/0x17b
[ 64.549768] [<ffffffff81257f38>] nfs4_do_reclaim+0x1d8/0x60d
[ 64.549770] [<ffffffff81257f38>] ? nfs4_do_reclaim+0x1d8/0x60d
[ 64.549772] [<ffffffff81c714dc>] ? put_rpccred+0x39/0x110
[ 64.549774] [<ffffffff812587ce>] nfs4_state_manager+0x461/0x55a
[ 64.549776] [<ffffffff812588c7>] ? nfs4_state_manager+0x55a/0x55a
[ 64.549777] [<ffffffff812588e6>] nfs4_run_state_manager+0x1f/0x2e
[ 64.549779] [<ffffffff81093126>] kthread+0xf6/0xfe
[ 64.549781] [<ffffffff81cb4f9f>] ret_from_fork+0x1f/0x40
[ 64.549783] [<ffffffff81093030>] ? __kthread_parkme+0x7e/0x7e
[ 64.549785] ---[ end trace 0000000000000002 ]---
[ 64.867401] WARNING: CPU: 0 PID: 3398 at kernel/sched/core.c:3384
migrate_disable+0x60/0xc7
To reproduce:
git clone
git://git.kernel.org/pub/scm/linux/kernel/git/wfg/lkp-tests.git
cd lkp-tests
bin/lkp install job.yaml # job file is attached in this email
bin/lkp run job.yaml
Thanks,
Xiaolong