From: Hao Sun <sunhao.th@gmail.com>
To: acme@kernel.org, linux-perf-users@vger.kernel.org,
mingo@redhat.com, peterz@infradead.org
Cc: alexander.shishkin@linux.intel.com, andrii@kernel.org,
ast@kernel.org, bpf@vger.kernel.org, daniel@iogearbox.net,
john.fastabend@gmail.com, jolsa@redhat.com, kafai@fb.com,
kpsingh@kernel.org, linux-kernel@vger.kernel.org,
mark.rutland@arm.com, namhyung@kernel.org,
netdev@vger.kernel.org, songliubraving@fb.com, yhs@fb.com
Subject: possible deadlock in __perf_event_task_sched_out
Date: Mon, 13 Sep 2021 10:39:10 +0800 [thread overview]
Message-ID: <CACkBjsYnr4_uucVqvBpfDAgcnQqA6oneD1mHYe-TcLtDxuUs2A@mail.gmail.com> (raw)
Hello,
When using Healer to fuzz the latest Linux kernel, the following crash
was triggered.
HEAD commit: 4b93c544e90e-thunderbolt: test: split up test cases
git tree: upstream
console output:
https://drive.google.com/file/d/1Gy99NMo9JxZF6dHPdxnnb91n_jPJUQnA/view?usp=sharing
kernel config: https://drive.google.com/file/d/1c0u2EeRDhRO-ZCxr9MP2VvAtJd6kfg-p/view?usp=sharing
Sorry, I don't have a reproducer for this crash, hope the symbolized
report can help.
If you fix this issue, please add the following tag to the commit:
Reported-by: Hao Sun <sunhao.th@gmail.com>
Call Trace:
x86_pmu_enable+0x453/0xd50 arch/x86/events/core.c:1346
perf_pmu_enable kernel/events/core.c:1207 [inline]
perf_pmu_enable+0xcf/0x120 kernel/events/core.c:1203
__perf_install_in_context+0x68e/0x9f0 kernel/events/core.c:2817
remote_function kernel/events/core.c:91 [inline]
remote_function+0x115/0x1a0 kernel/events/core.c:71
generic_exec_single kernel/smp.c:518 [inline]
generic_exec_single+0x1fe/0x300 kernel/smp.c:504
smp_call_function_single+0x186/0x4b0 kernel/smp.c:755
task_function_call+0xd9/0x160 kernel/events/core.c:119
perf_install_in_context+0x2cb/0x550 kernel/events/core.c:2918
__do_sys_perf_event_open+0x1c7c/0x2de0 kernel/events/core.c:12353
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4739cd
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb5e3f21c58 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffda RBX: 000000000059c0a0 RCX: 00000000004739cd
RDX: fbffffffffffffff RSI: 0000000000000000 RDI: 0000000020000040
RBP: 00000000004ebd80 R08: 0000000000000009 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 000000000059c0a0
R13: 00007ffcc97e6abf R14: 00007ffcc97e6c60 R15: 00007fb5e3f21dc0
======================================================
WARNING: possible circular locking dependency detected
5.14.0+ #1 Not tainted
------------------------------------------------------
syz-executor/9146 is trying to acquire lock:
ffff88801d635420 (&ctx->lock){....}-{2:2}, at:
perf_event_context_sched_out kernel/events/core.c:3489 [inline]
ffff88801d635420 (&ctx->lock){....}-{2:2}, at:
__perf_event_task_sched_out+0x6e8/0x18d0 kernel/events/core.c:3597
but task is already holding lock:
ffff888063e319d8 (&rq->__lock){-.-.}-{2:2}, at:
raw_spin_rq_lock_nested+0x1e/0x30 kernel/sched/core.c:474
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #3 (&rq->__lock){-.-.}-{2:2}:
lock_acquire kernel/locking/lockdep.c:5625 [inline]
lock_acquire+0x1ab/0x520 kernel/locking/lockdep.c:5590
_raw_spin_lock_nested+0x30/0x40 kernel/locking/spinlock.c:368
raw_spin_rq_lock_nested+0x1e/0x30 kernel/sched/core.c:474
raw_spin_rq_lock kernel/sched/sched.h:1317 [inline]
rq_lock kernel/sched/sched.h:1620 [inline]
task_fork_fair+0x76/0x4e0 kernel/sched/fair.c:11091
sched_fork+0x406/0x990 kernel/sched/core.c:4393
copy_process+0x2002/0x73d0 kernel/fork.c:2165
kernel_clone+0xe7/0x10d0 kernel/fork.c:2585
kernel_thread+0xb5/0xf0 kernel/fork.c:2637
rest_init+0x23/0x3e0 init/main.c:684
start_kernel+0x47a/0x49b init/main.c:1125
secondary_startup_64_no_verify+0xb0/0xbb
-> #2 (&p->pi_lock){-.-.}-{2:2}:
lock_acquire kernel/locking/lockdep.c:5625 [inline]
lock_acquire+0x1ab/0x520 kernel/locking/lockdep.c:5590
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162
try_to_wake_up+0xab/0x1880 kernel/sched/core.c:3981
up+0x92/0xe0 kernel/locking/semaphore.c:190
__up_console_sem+0xa4/0xc0 kernel/printk/printk.c:254
console_unlock+0x567/0xb40 kernel/printk/printk.c:2726
vga_remove_vgacon drivers/gpu/vga/vgaarb.c:211 [inline]
vga_remove_vgacon.cold+0x99/0x9e drivers/gpu/vga/vgaarb.c:192
drm_aperture_remove_conflicting_pci_framebuffers+0x1e8/0x2c0
drivers/gpu/drm/drm_aperture.c:350
bochs_pci_probe+0x118/0x890 drivers/gpu/drm/tiny/bochs.c:643
local_pci_probe+0xdb/0x190 drivers/pci/pci-driver.c:323
pci_call_probe drivers/pci/pci-driver.c:380 [inline]
__pci_device_probe drivers/pci/pci-driver.c:405 [inline]
pci_device_probe+0x3e6/0x6f0 drivers/pci/pci-driver.c:448
call_driver_probe drivers/base/dd.c:517 [inline]
really_probe drivers/base/dd.c:596 [inline]
really_probe+0x245/0xbd0 drivers/base/dd.c:541
__driver_probe_device+0x338/0x4d0 drivers/base/dd.c:751
driver_probe_device+0x4c/0x1a0 drivers/base/dd.c:781
__driver_attach+0x1d6/0x3b0 drivers/base/dd.c:1140
bus_for_each_dev+0x147/0x1d0 drivers/base/bus.c:301
bus_add_driver+0x41d/0x630 drivers/base/bus.c:618
driver_register+0x1c4/0x330 drivers/base/driver.c:171
bochs_init+0x78/0x86 drivers/gpu/drm/tiny/bochs.c:720
do_one_initcall+0x103/0x650 init/main.c:1287
do_initcall_level init/main.c:1360 [inline]
do_initcalls init/main.c:1376 [inline]
do_basic_setup init/main.c:1396 [inline]
kernel_init_freeable+0x6ca/0x753 init/main.c:1598
kernel_init+0x1a/0x1d0 init/main.c:1490
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
-> #1 ((console_sem).lock){....}-{2:2}:
lock_acquire kernel/locking/lockdep.c:5625 [inline]
lock_acquire+0x1ab/0x520 kernel/locking/lockdep.c:5590
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:162
down_trylock+0xe/0x60 kernel/locking/semaphore.c:138
__down_trylock_console_sem+0x40/0x120 kernel/printk/printk.c:237
console_trylock+0x12/0x90 kernel/printk/printk.c:2541
console_trylock_spinning kernel/printk/printk.c:1843 [inline]
vprintk_emit+0x141/0x4a0 kernel/printk/printk.c:2243
vprintk+0x80/0x90 kernel/printk/printk_safe.c:50
_printk+0xba/0xed kernel/printk/printk.c:2265
show_trace_log_lvl+0x57/0x2bb arch/x86/kernel/dumpstack.c:195
ex_handler_wrmsr_unsafe+0x47/0xc0 arch/x86/mm/extable.c:121
fixup_exception+0x9a/0xd0 arch/x86/mm/extable.c:183
__exc_general_protection arch/x86/kernel/traps.c:567 [inline]
exc_general_protection+0xed/0x2f0 arch/x86/kernel/traps.c:531
asm_exc_general_protection+0x1e/0x30 arch/x86/include/asm/idtentry.h:562
wrmsrl arch/x86/include/asm/msr.h:281 [inline]
__x86_pmu_enable_event arch/x86/events/perf_event.h:1118 [inline]
x86_pmu_enable_all+0x16d/0x3f0 arch/x86/events/core.c:741
x86_pmu_enable+0x453/0xd50 arch/x86/events/core.c:1346
perf_pmu_enable kernel/events/core.c:1207 [inline]
perf_pmu_enable+0xcf/0x120 kernel/events/core.c:1203
__perf_install_in_context+0x68e/0x9f0 kernel/events/core.c:2817
remote_function kernel/events/core.c:91 [inline]
remote_function+0x115/0x1a0 kernel/events/core.c:71
generic_exec_single kernel/smp.c:518 [inline]
generic_exec_single+0x1fe/0x300 kernel/smp.c:504
smp_call_function_single+0x186/0x4b0 kernel/smp.c:755
task_function_call+0xd9/0x160 kernel/events/core.c:119
perf_install_in_context+0x2cb/0x550 kernel/events/core.c:2918
__do_sys_perf_event_open+0x1c7c/0x2de0 kernel/events/core.c:12353
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
-> #0 (&ctx->lock){....}-{2:2}:
check_prev_add+0x165/0x24f0 kernel/locking/lockdep.c:3051
check_prevs_add kernel/locking/lockdep.c:3174 [inline]
validate_chain kernel/locking/lockdep.c:3789 [inline]
__lock_acquire+0x2e03/0x57e0 kernel/locking/lockdep.c:5015
lock_acquire kernel/locking/lockdep.c:5625 [inline]
lock_acquire+0x1ab/0x520 kernel/locking/lockdep.c:5590
__raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
_raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154
perf_event_context_sched_out kernel/events/core.c:3489 [inline]
__perf_event_task_sched_out+0x6e8/0x18d0 kernel/events/core.c:3597
perf_event_task_sched_out include/linux/perf_event.h:1229 [inline]
prepare_task_switch kernel/sched/core.c:4744 [inline]
context_switch kernel/sched/core.c:4892 [inline]
__schedule+0xf77/0x2530 kernel/sched/core.c:6287
preempt_schedule_common+0x4a/0xc0 kernel/sched/core.c:6459
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:35
smp_call_function_single+0x41d/0x4b0 kernel/smp.c:760
task_function_call+0xd9/0x160 kernel/events/core.c:119
perf_install_in_context+0x2cb/0x550 kernel/events/core.c:2918
__do_sys_perf_event_open+0x1c7c/0x2de0 kernel/events/core.c:12353
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
other info that might help us debug this:
Chain exists of:
&ctx->lock --> &p->pi_lock --> &rq->__lock
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(&rq->__lock);
lock(&p->pi_lock);
lock(&rq->__lock);
lock(&ctx->lock);
*** DEADLOCK ***
3 locks held by syz-executor/9146:
#0: ffff888017919fd8 (&sig->exec_update_lock){++++}-{3:3}, at:
__do_sys_perf_event_open+0xf84/0x2de0 kernel/events/core.c:12193
#1: ffff88801d6354b0 (&ctx->mutex){+.+.}-{3:3}, at:
__do_sys_perf_event_open+0x17de/0x2de0 kernel/events/core.c:12247
#2: ffff888063e319d8 (&rq->__lock){-.-.}-{2:2}, at:
raw_spin_rq_lock_nested+0x1e/0x30 kernel/sched/core.c:474
stack backtrace:
CPU: 0 PID: 9146 Comm: syz-executor Not tainted 5.14.0+ #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.13.0-1ubuntu1.1 04/01/2014
Call Trace:
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:105
check_noncircular+0x26b/0x310 kernel/locking/lockdep.c:2131
check_prev_add+0x165/0x24f0 kernel/locking/lockdep.c:3051
check_prevs_add kernel/locking/lockdep.c:3174 [inline]
validate_chain kernel/locking/lockdep.c:3789 [inline]
__lock_acquire+0x2e03/0x57e0 kernel/locking/lockdep.c:5015
lock_acquire kernel/locking/lockdep.c:5625 [inline]
lock_acquire+0x1ab/0x520 kernel/locking/lockdep.c:5590
__raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
_raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154
perf_event_context_sched_out kernel/events/core.c:3489 [inline]
__perf_event_task_sched_out+0x6e8/0x18d0 kernel/events/core.c:3597
perf_event_task_sched_out include/linux/perf_event.h:1229 [inline]
prepare_task_switch kernel/sched/core.c:4744 [inline]
context_switch kernel/sched/core.c:4892 [inline]
__schedule+0xf77/0x2530 kernel/sched/core.c:6287
preempt_schedule_common+0x4a/0xc0 kernel/sched/core.c:6459
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:35
smp_call_function_single+0x41d/0x4b0 kernel/smp.c:760
task_function_call+0xd9/0x160 kernel/events/core.c:119
perf_install_in_context+0x2cb/0x550 kernel/events/core.c:2918
__do_sys_perf_event_open+0x1c7c/0x2de0 kernel/events/core.c:12353
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4739cd
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb5e3f21c58 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffda RBX: 000000000059c0a0 RCX: 00000000004739cd
RDX: fbffffffffffffff RSI: 0000000000000000 RDI: 0000000020000040
RBP: 00000000004ebd80 R08: 0000000000000009 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 000000000059c0a0
R13: 00007ffcc97e6abf R14: 00007ffcc97e6c60 R15: 00007fb5e3f21dc0
Call Trace:
x86_pmu_enable+0x453/0xd50 arch/x86/events/core.c:1346
perf_pmu_enable kernel/events/core.c:1207 [inline]
perf_pmu_enable+0xcf/0x120 kernel/events/core.c:1203
perf_event_context_sched_in kernel/events/core.c:3865 [inline]
__perf_event_task_sched_in+0x64e/0x900 kernel/events/core.c:3903
perf_event_task_sched_in include/linux/perf_event.h:1206 [inline]
finish_task_switch+0x297/0x820 kernel/sched/core.c:4809
context_switch kernel/sched/core.c:4943 [inline]
__schedule+0xce1/0x2530 kernel/sched/core.c:6287
preempt_schedule_common+0x4a/0xc0 kernel/sched/core.c:6459
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:35
smp_call_function_single+0x41d/0x4b0 kernel/smp.c:760
task_function_call+0xd9/0x160 kernel/events/core.c:119
perf_install_in_context+0x2cb/0x550 kernel/events/core.c:2918
__do_sys_perf_event_open+0x1c7c/0x2de0 kernel/events/core.c:12353
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4739cd
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb5e3f21c58 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffda RBX: 000000000059c0a0 RCX: 00000000004739cd
RDX: fbffffffffffffff RSI: 0000000000000000 RDI: 0000000020000040
RBP: 00000000004ebd80 R08: 0000000000000009 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 000000000059c0a0
R13: 00007ffcc97e6abf R14: 00007ffcc97e6c60 R15: 00007fb5e3f21dc0
Call Trace:
x86_pmu_enable+0x453/0xd50 arch/x86/events/core.c:1346
perf_pmu_enable kernel/events/core.c:1207 [inline]
perf_pmu_enable+0xcf/0x120 kernel/events/core.c:1203
perf_event_context_sched_in kernel/events/core.c:3865 [inline]
__perf_event_task_sched_in+0x64e/0x900 kernel/events/core.c:3903
perf_event_task_sched_in include/linux/perf_event.h:1206 [inline]
finish_task_switch+0x297/0x820 kernel/sched/core.c:4809
context_switch kernel/sched/core.c:4943 [inline]
__schedule+0xce1/0x2530 kernel/sched/core.c:6287
preempt_schedule_common+0x4a/0xc0 kernel/sched/core.c:6459
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:35
smp_call_function_single+0x41d/0x4b0 kernel/smp.c:760
task_function_call+0xd9/0x160 kernel/events/core.c:119
perf_install_in_context+0x2cb/0x550 kernel/events/core.c:2918
__do_sys_perf_event_open+0x1c7c/0x2de0 kernel/events/core.c:12353
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4739cd
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb5e3f21c58 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffda RBX: 000000000059c0a0 RCX: 00000000004739cd
RDX: fbffffffffffffff RSI: 0000000000000000 RDI: 0000000020000040
RBP: 00000000004ebd80 R08: 0000000000000009 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 000000000059c0a0
R13: 00007ffcc97e6abf R14: 00007ffcc97e6c60 R15: 00007fb5e3f21dc0
Call Trace:
x86_pmu_enable+0x453/0xd50 arch/x86/events/core.c:1346
perf_pmu_enable kernel/events/core.c:1207 [inline]
perf_pmu_enable+0xcf/0x120 kernel/events/core.c:1203
perf_event_context_sched_in kernel/events/core.c:3865 [inline]
__perf_event_task_sched_in+0x64e/0x900 kernel/events/core.c:3903
perf_event_task_sched_in include/linux/perf_event.h:1206 [inline]
finish_task_switch+0x297/0x820 kernel/sched/core.c:4809
context_switch kernel/sched/core.c:4943 [inline]
__schedule+0xce1/0x2530 kernel/sched/core.c:6287
preempt_schedule_common+0x4a/0xc0 kernel/sched/core.c:6459
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:35
smp_call_function_single+0x41d/0x4b0 kernel/smp.c:760
task_function_call+0xd9/0x160 kernel/events/core.c:119
perf_install_in_context+0x2cb/0x550 kernel/events/core.c:2918
__do_sys_perf_event_open+0x1c7c/0x2de0 kernel/events/core.c:12353
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4739cd
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb5e3f21c58 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffda RBX: 000000000059c0a0 RCX: 00000000004739cd
RDX: fbffffffffffffff RSI: 0000000000000000 RDI: 0000000020000040
RBP: 00000000004ebd80 R08: 0000000000000009 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 000000000059c0a0
R13: 00007ffcc97e6abf R14: 00007ffcc97e6c60 R15: 00007fb5e3f21dc0
Call Trace:
x86_pmu_enable+0x453/0xd50 arch/x86/events/core.c:1346
perf_pmu_enable kernel/events/core.c:1207 [inline]
perf_pmu_enable+0xcf/0x120 kernel/events/core.c:1203
perf_event_context_sched_in kernel/events/core.c:3865 [inline]
__perf_event_task_sched_in+0x64e/0x900 kernel/events/core.c:3903
perf_event_task_sched_in include/linux/perf_event.h:1206 [inline]
finish_task_switch+0x297/0x820 kernel/sched/core.c:4809
context_switch kernel/sched/core.c:4943 [inline]
__schedule+0xce1/0x2530 kernel/sched/core.c:6287
schedule+0xd3/0x270 kernel/sched/core.c:6366
freezable_schedule include/linux/freezer.h:172 [inline]
futex_wait_queue_me+0x25a/0x520 kernel/futex.c:2821
futex_wait+0x1e3/0x5f0 kernel/futex.c:2922
do_futex+0x26e/0x18e0 kernel/futex.c:3932
__do_sys_futex kernel/futex.c:4009 [inline]
__se_sys_futex kernel/futex.c:3990 [inline]
__x64_sys_futex+0x1b0/0x4d0 kernel/futex.c:3990
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4739cd
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb5e3f21cd8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: ffffffffffffffda RBX: 000000000059c0a0 RCX: 00000000004739cd
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 000000000059c0a8
RBP: 000000000059c0a8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 000000000059c0ac
R13: 00007ffcc97e6abf R14: 00007ffcc97e6c60 R15: 00007fb5e3f21dc0
Call Trace:
x86_pmu_enable+0x453/0xd50 arch/x86/events/core.c:1346
perf_pmu_enable kernel/events/core.c:1207 [inline]
perf_pmu_enable+0xcf/0x120 kernel/events/core.c:1203
perf_event_context_sched_in kernel/events/core.c:3865 [inline]
__perf_event_task_sched_in+0x64e/0x900 kernel/events/core.c:3903
perf_event_task_sched_in include/linux/perf_event.h:1206 [inline]
finish_task_switch+0x297/0x820 kernel/sched/core.c:4809
context_switch kernel/sched/core.c:4943 [inline]
__schedule+0xce1/0x2530 kernel/sched/core.c:6287
schedule+0xd3/0x270 kernel/sched/core.c:6366
freezable_schedule include/linux/freezer.h:172 [inline]
futex_wait_queue_me+0x25a/0x520 kernel/futex.c:2821
futex_wait+0x1e3/0x5f0 kernel/futex.c:2922
do_futex+0x26e/0x18e0 kernel/futex.c:3932
__do_sys_futex kernel/futex.c:4009 [inline]
__se_sys_futex kernel/futex.c:3990 [inline]
__x64_sys_futex+0x1b0/0x4d0 kernel/futex.c:3990
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4739cd
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb5e3f21cd8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: ffffffffffffffda RBX: 000000000059c0a0 RCX: 00000000004739cd
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 000000000059c0a8
RBP: 000000000059c0a8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 000000000059c0ac
R13: 00007ffcc97e6abf R14: 00007ffcc97e6c60 R15: 00007fb5e3f21dc0
Call Trace:
x86_pmu_enable+0x453/0xd50 arch/x86/events/core.c:1346
perf_pmu_enable kernel/events/core.c:1207 [inline]
perf_pmu_enable+0xcf/0x120 kernel/events/core.c:1203
perf_event_context_sched_in kernel/events/core.c:3865 [inline]
__perf_event_task_sched_in+0x64e/0x900 kernel/events/core.c:3903
perf_event_task_sched_in include/linux/perf_event.h:1206 [inline]
finish_task_switch+0x297/0x820 kernel/sched/core.c:4809
context_switch kernel/sched/core.c:4943 [inline]
__schedule+0xce1/0x2530 kernel/sched/core.c:6287
schedule+0xd3/0x270 kernel/sched/core.c:6366
freezable_schedule include/linux/freezer.h:172 [inline]
futex_wait_queue_me+0x25a/0x520 kernel/futex.c:2821
futex_wait+0x1e3/0x5f0 kernel/futex.c:2922
do_futex+0x26e/0x18e0 kernel/futex.c:3932
__do_sys_futex kernel/futex.c:4009 [inline]
__se_sys_futex kernel/futex.c:3990 [inline]
__x64_sys_futex+0x1b0/0x4d0 kernel/futex.c:3990
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4739cd
Code: 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 f3 0f 1e fa 48 89 f8 48
89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d
01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fb5e3f21cd8 EFLAGS: 00000246
ORIG_RAX: 00000000000000ca
RAX: ffffffffffffffda RBX: 000000000059c0a0 RCX: 00000000004739cd
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 000000000059c0a8
RBP: 000000000059c0a8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 000000000059c0ac
R13: 00007ffcc97e6abf R14: 00007ffcc97e6c60 R15: 00007fb5e3f21dc0
Call Trace:
x86_pmu_enable+0x453/0xd50 arch/x86/events/core.c:1346
perf_pmu_enable kernel/events/core.c:1207 [inline]
perf_pmu_enable+0xcf/0x120 kernel/events/core.c:1203
perf_event_context_sched_in kernel/events/core.c:3865 [inline]
__perf_event_task_sched_in+0x64e/0x900 kernel/events/core.c:3903
perf_event_task_sched_in include/linux/perf_event.h:1206 [inline]
finish_task_switch+0x297/0x820 kernel/sched/core.c:4809
context_switch kernel/sched/core.c:4943 [inline]
__schedule+0xce1/0x2530 kernel/sched/core.c:6287
schedule+0xd3/0x270 kernel/sched/core.c:6366
freezable_schedule include/linux/freezer.h:172 [inline]
futex_wait_queue_me+0x25a/0x520 kernel/futex.c:2821
futex_wait+0x1e3/0x5f0 kernel/futex.c:2922
do_futex+0x26e/0x18e0 kernel/futex.c:3932
next reply other threads:[~2021-09-13 2:39 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-13 2:39 Hao Sun [this message]
2021-09-13 8:11 ` possible deadlock in __perf_event_task_sched_out Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CACkBjsYnr4_uucVqvBpfDAgcnQqA6oneD1mHYe-TcLtDxuUs2A@mail.gmail.com \
--to=sunhao.th@gmail.com \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=john.fastabend@gmail.com \
--cc=jolsa@redhat.com \
--cc=kafai@fb.com \
--cc=kpsingh@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=songliubraving@fb.com \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.