2021-04-08 07:13:06

by kernel test robot

[permalink] [raw]
Subject: [powercap/drivers/dtpm] fad1c90779: WARNING:at_kernel/sched/core.c:#sched_cpu_dying



Greeting,

FYI, we noticed the following commit (built with gcc-9):

commit: fad1c907790fee0535b02eeadfea77a04d2b6df5 ("powercap/drivers/dtpm: Simplify the dtpm table")
http://git.linaro.org/people/daniel.lezcano/linux dtpm/next


in testcase: rcutorture
version:
with following parameters:

runtime: 300s
test: cpuhotplug
torture_type: rcu

test-description: rcutorture is rcutorture kernel module load/unload test.
test-url: https://www.kernel.org/doc/Documentation/RCU/torture.txt


on test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


+-------------------------------------------------------------------------------+------------+------------+
| | f1e01a31a8 | fad1c90779 |
+-------------------------------------------------------------------------------+------------+------------+
| BUG:using_smp_processor_id()in_preemptible | 0 | 30 |
| WARNING:at_kernel/sched/core.c:#sched_cpu_dying | 0 | 21 |
| RIP:sched_cpu_dying | 0 | 21 |
+-------------------------------------------------------------------------------+------------+------------+


If you fix the issue, kindly add following tag
Reported-by: kernel test robot <[email protected]>


[ 85.085299] WARNING: CPU: 1 PID: 20 at kernel/sched/core.c:8006 sched_cpu_dying (kbuild/src/consumer/kernel/sched/core.c:8006)
[ 85.086519] Modules linked in: rcutorture torture
[ 85.087001] CPU: 1 PID: 20 Comm: migration/1 Not tainted 5.12.0-rc3-00022-gfad1c907790f #1
[ 85.087816] Stopper: multi_cpu_stop+0x0/0x300 <- 0x0
[ 85.088333] RIP: 0010:sched_cpu_dying (kbuild/src/consumer/kernel/sched/core.c:8006)
[ 85.088812] Code: 03 38 d0 7c 08 84 d2 0f 85 7e 01 00 00 41 8b 85 80 0b 00 00 85 c0 0f 84 ae 00 00 00 90 48 c7 c7 00 f1 e5 84 e8 f0 97 35 03 90 <0f> 0b 90 90 49 8d bd 50 0a 00 00 48 b8 00 00 00 00 00 fc ff df 48
All code
========
0: 03 38 add (%rax),%edi
2: d0 7c 08 84 sarb -0x7c(%rax,%rcx,1)
6: d2 0f rorb %cl,(%rdi)
8: 85 7e 01 test %edi,0x1(%rsi)
b: 00 00 add %al,(%rax)
d: 41 8b 85 80 0b 00 00 mov 0xb80(%r13),%eax
14: 85 c0 test %eax,%eax
16: 0f 84 ae 00 00 00 je 0xca
1c: 90 nop
1d: 48 c7 c7 00 f1 e5 84 mov $0xffffffff84e5f100,%rdi
24: e8 f0 97 35 03 callq 0x3359819
29: 90 nop
2a:* 0f 0b ud2 <-- trapping instruction
2c: 90 nop
2d: 90 nop
2e: 49 8d bd 50 0a 00 00 lea 0xa50(%r13),%rdi
35: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
3c: fc ff df
3f: 48 rex.W

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: 90 nop
3: 90 nop
4: 49 8d bd 50 0a 00 00 lea 0xa50(%r13),%rdi
b: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
12: fc ff df
15: 48 rex.W
[ 85.090591] RSP: 0000:ffff8881002efc80 EFLAGS: 00010086
[ 85.091124] RAX: 0000000000000000 RBX: 0000000000000082 RCX: 0000000000000000
[ 85.091817] RDX: 0000000000000003 RSI: 0000000000000004 RDI: ffffed102005df86
[ 85.092531] RBP: ffff8881002efce8 R08: 0000000000000001 R09: ffffed1075dbbedc
[ 85.093231] R10: ffff8883aeddf6db R11: ffffed1075dbbedb R12: 0000000000000001
[ 85.093928] R13: ffff8883aedf2f40 R14: ffff8883aedf2f58 R15: ffff8883aedf2f88
[ 85.094625] FS: 0000000000000000(0000) GS:ffff8883aec00000(0000) knlGS:0000000000000000
[ 85.095413] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 85.095990] CR2: 0000000000000000 CR3: 0000000005e16000 CR4: 00000000000406e0
[ 85.096707] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 85.097417] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 85.098125] Call Trace:
[ 85.098386] ? flush_smp_call_function_queue (kbuild/src/consumer/kernel/smp.c:345 (discriminator 31))
[ 85.098904] ? sched_cpu_wait_empty (kbuild/src/consumer/kernel/sched/core.c:7998)
[ 85.099363] cpuhp_invoke_callback (kbuild/src/consumer/kernel/cpu.c:174)
[ 85.099819] ? clear_local_APIC (kbuild/src/consumer/arch/x86/include/asm/apic.h:393 kbuild/src/consumer/arch/x86/kernel/apic/apic.c:1191)
[ 85.116278] ? cpuhp_invoke_callback (kbuild/src/consumer/kernel/cpu.c:872)
[ 85.116817] take_cpu_down (kbuild/src/consumer/kernel/cpu.c:895)
[ 85.117213] ? rcu_preempt_need_deferred_qs (kbuild/src/consumer/kernel/rcu/tree_plugin.h:560)
[ 85.117718] multi_cpu_stop (kbuild/src/consumer/kernel/stop_machine.c:240)
[ 85.118112] ? stop_machine_yield+0x20/0x20
[ 85.118528] cpu_stopper_thread (kbuild/src/consumer/kernel/stop_machine.c:511)
[ 85.118949] ? cpu_stop_create (kbuild/src/consumer/kernel/stop_machine.c:487)
[ 85.119346] ? smpboot_thread_fn (kbuild/src/consumer/kernel/smpboot.c:113)
[ 85.119768] smpboot_thread_fn (kbuild/src/consumer/kernel/smpboot.c:165 (discriminator 3))
[ 85.120178] ? smpboot_register_percpu_thread (kbuild/src/consumer/kernel/smpboot.c:108)
[ 85.120682] ? smpboot_register_percpu_thread (kbuild/src/consumer/kernel/smpboot.c:108)
[ 85.121163] ? smpboot_register_percpu_thread (kbuild/src/consumer/kernel/smpboot.c:108)
[ 85.121636] kthread (kbuild/src/consumer/kernel/kthread.c:292)
[ 85.121932] ? _raw_spin_unlock_irq (kbuild/src/consumer/arch/x86/include/asm/irqflags.h:45 kbuild/src/consumer/arch/x86/include/asm/irqflags.h:80 kbuild/src/consumer/include/linux/spinlock_api_smp.h:168 kbuild/src/consumer/kernel/locking/spinlock.c:199)
[ 85.122320] ? kthread_bind (kbuild/src/consumer/kernel/kthread.c:248)
[ 85.122648] ret_from_fork (kbuild/src/consumer/arch/x86/entry/entry_64.S:300)
[ 85.122972] irq event stamp: 796
[ 85.123261] hardirqs last enabled at (795): rcu_preempt_deferred_qs_irqrestore (kbuild/src/consumer/kernel/rcu/tree_plugin.h:545 (discriminator 1))
[ 85.124148] hardirqs last disabled at (796): multi_cpu_stop (kbuild/src/consumer/kernel/stop_machine.c:235 (discriminator 1))
[ 85.124895] softirqs last enabled at (772): __do_softirq (kbuild/src/consumer/arch/x86/include/asm/preempt.h:27 kbuild/src/consumer/kernel/softirq.c:373)
[ 85.125615] softirqs last disabled at (769): irq_exit_rcu (kbuild/src/consumer/kernel/softirq.c:221 kbuild/src/consumer/kernel/softirq.c:422 kbuild/src/consumer/kernel/softirq.c:434)
[ 85.126335] ---[ end trace 64b7cf61cb6f563a ]---
[ 85.126750] CPU1 enqueued tasks (2 total):
[ 85.127118] pid: 20, name: migration/1
[ 85.127463] pid: 25, name: kworker/1:1
[ 85.127878]
[ 85.127882] ======================================================


To reproduce:

# build kernel
cd linux
cp config-5.12.0-rc3-00022-gfad1c907790f .config
make HOSTCC=gcc-9 CC=gcc-9 ARCH=x86_64 olddefconfig prepare modules_prepare bzImage

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp qemu -k <bzImage> job-script # job-script is attached in this email



---
0DAY/LKP+ Test Infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation

Thanks,
Oliver Sang


Attachments:
(No filename) (7.56 kB)
config-5.12.0-rc3-00022-gfad1c907790f (142.86 kB)
job-script (4.42 kB)
dmesg.xz (25.23 kB)
Download all attachments