4,465
社区成员




题主使用内核版本为5.10.110,打上了RT对应版本的patch,编译没有报问题,烧录进RK3588也成功了,启动时显示的内核版本也有RT的标签,进入系统后使用串口登录到终端中也挺正常(由于RT与桌面GUI兼容性不好,所以题主使用命令将桌面关闭了),然后在终端中等待一会或者使用sudo权限执行一些命令时内核会直接卡死,因为题主想使用rt-test来测试linux的实时性,运行测试命令时出现的此现象,后来发现进入终端后,过一阵也会有此现象,求帮忙分析一波,日志如下,此部分有很多重复日志,这里只放出不重复的部分:
ubuntu@ubuntu:~$ [ 97.799232] BUG: scheduling while atomic: swapper/3/0/0x00000002
[ 97.799238] BUG: scheduling while atomic: swapper/2/0/0x00000002
[ 97.799258] Preemption disabled at:
[ 97.799259] Preemption disabled at:
[ 97.799261] [<ffffffc010092998>] migrate_enable+0x74/0x1fc
[ 97.799260] [<ffffffc010092998>] migrate_enable+0x74/0x1fc
[ 97.799512] bad: scheduling from the idle thread!
[ 98.139013] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[ 98.235668] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[ 98.339009] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[ 98.442341] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[ 98.545673] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[ 98.649007] rk3x-i2c fd880000.i2c: timeout, ipd: 0x3b, state: 3
[ 98.649015] cpu cpu6: rockchip_cpufreq_set_volt: failed to set voltage (700000 700000 1000000 uV): -110
[ 98.649023] cpufreq: __target_index: Failed to change cpu frequency: -110
[ 153.535662] mmc0: Timeout waiting for hardware cmd interrupt.
[ 153.535668] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 153.535672] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00000005
[ 153.535678] mmc0: sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
[ 153.535684] mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x00000023
[ 153.535689] mmc0: sdhci: Present: 0x03f700f0 | Host ctl: 0x00000034
[ 153.535696] mmc0: sdhci: Power: 0x0000000d | Blk gap: 0x00000000
[ 153.535701] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
[ 153.535707] mmc0: sdhci: Timeout: 0x0000000e | Int stat: 0x00018001
[ 153.535713] mmc0: sdhci: Int enab: 0x03ff000b | Sig enab: 0x03ff000b
[ 153.535719] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
[ 153.535725] mmc0: sdhci: Caps: 0x226dc881 | Caps_1: 0x08000007
[ 153.535730] mmc0: sdhci: Cmd: 0x00000c1a | Max curr: 0x00000000
[ 153.535736] mmc0: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0xffffffff
[ 153.535741] mmc0: sdhci: Resp[2]: 0x320f5903 | Resp[3]: 0x00000900
[ 153.535747] mmc0: sdhci: Host ctl2: 0x0000000f
[ 153.535751] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x003de228
[ 153.535756] mmc0: sdhci: ============================================
您5.10.110对应版本的patch是用的什么版本的啊,我找不到
又一次死机报了调用栈
[ 105.530928] BUG: scheduling while atomic: swapper/0/0/0x00000002
[ 105.530936] BUG: scheduling while atomic: swapper/2/0/0x00000002
[ 105.530947] Modules linked in:
[ 105.530947] Modules linked in:
[ 105.530950]
[ 105.530950]
[ 105.530954] Preemption disabled at:
[ 105.530955] Preemption disabled at:
[ 105.530957] [<ffffffc010092998>] migrate_enable+0x74/0x1fc
[ 105.530957] [<ffffffc0112469dc>] schedule_preempt_disabled+0x2c/0x40
[ 105.530987] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.110-rt53 #10
[ 105.530995] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[ 105.531000] Call trace:
[ 105.531002] dump_backtrace+0x0/0x1e0
[ 105.531015] show_stack+0x24/0x30
[ 105.531022] dump_stack_lvl+0xc8/0xf4
[ 105.531036] dump_stack+0x18/0x34
[ 105.531042] __schedule_bug+0xb0/0xc0
[ 105.531051] __schedule+0x61c/0x850
[ 105.531057] preempt_schedule_lock+0x28/0x50
[ 105.531065] rt_spin_lock_slowlock_locked+0x11c/0x2ac
[ 105.531075] rt_spin_lock_slowlock+0x60/0xa0
[ 105.531082] rt_spin_lock+0x58/0x6c
[ 105.531092] choose_freq+0x1d0/0x464
[ 105.531109] eval_target_freq+0x354/0x734
[ 105.531119] cpufreq_interactive_idle_notifier+0xc8/0xec
[ 105.531129] atomic_notifier_call_chain+0x6c/0xa0
[ 105.531143] idle_notifier_call_chain+0x30/0x40
[ 105.531152] arch_cpu_idle_exit+0x20/0x30
[ 105.531160] do_idle+0x88/0x310
[ 105.531169] cpu_startup_entry+0x30/0x5c
[ 105.531175] rest_init+0xdc/0xec
[ 105.531181] arch_call_rest_init+0x1c/0x28
[ 105.531189] start_kernel+0x614/0x64c
[ 105.531197] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 5.10.110-rt53 #10
[ 105.531201] bad: scheduling from the idle thread!
[ 105.531204] Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
[ 105.531208] Call trace:
[ 105.531210] dump_backtrace+0x0/0x1e0
[ 105.531221] show_stack+0x24/0x30
[ 105.531230] dump_stack_lvl+0xc8/0xf4
[ 105.531238] dump_stack+0x18/0x34
[ 105.531244] __schedule_bug+0xb0/0xc0
[ 105.531250] __schedule+0x61c/0x850
[ 105.531257] preempt_schedule_lock+0x28/0x50
[ 105.531264] rt_spin_lock_slowlock_locked+0x11c/0x2ac
[ 105.531273] rt_spin_lock_slowlock+0x60/0xa0
[ 105.531281] rt_spin_lock+0x58/0x6c
[ 105.531289] choose_freq+0x1d0/0x464
[ 105.531298] eval_target_freq+0x354/0x734
[ 105.531308] cpufreq_interactive_idle_notifier+0xc8/0xec
[ 105.531316] atomic_notifier_call_chain+0x6c/0xa0
[ 105.531324] idle_notifier_call_chain+0x30/0x40
[ 105.531331] arch_cpu_idle_exit+0x20/0x30
[ 105.531338] do_idle+0x88/0x310
[ 105.531343] cpu_startup_entry+0x30/0x5c
[ 105.531350] secondary_start_kernel+0x190/0x1ec