以下是log:[ 42.754523] init: command 'start' r=0
[ 42.804198] init: waitpid returned pid 224, status = 00000000
[ 42.810956] init: process 'bootanim', pid 224 exited
[ 42.824185] CPU Budget:update CPU 0 cpufreq max to 1200000 min to 120000
[ 42.832022] [dsm] store_scene: 0
[ 43.556674] [rfkill]: rfkill set power 1
[ 43.561097] gpio ap6xxx_bt_regon set val 0, act val 0
[ 43.781037] [rfkill]: rfkill set power 0
[ 43.785436] gpio ap6xxx_bt_regon set val 1, act val 1
[ 45.032760] CPU Budget:update CPU 0 cpufreq max to 1200000 min to 120000
[ 45.040359] [dsm] store_scene: 1
[ 45.043966] [dsm] continuous input event, no freq change
[ 46.321655] CPU2: shutdown
[ 46.324681] [hotplug]: cpu(0) try to kill cpu(2)
[ 46.330538] [hotplug]: cpu2 is killed! .
[ 46.554863] [rfkill]: rfkill set power 1
[ 46.559250] gpio ap6xxx_bt_regon set val 0, act val 0
[ 46.330954] CPU2: Booted secondary processor
[ 50.311527] CPU2: shutdown
[ 50.314537] [hotplug]: cpu(3) try to kill cpu(2)
[ 50.319724] [hotplug]: cpu2 is killed! .
[ 50.320776] CPU2: Booted secondary processor
[ 55.361212] CPU3: shutdown
[ 55.364257] [hotplug]: cpu(2) try to kill cpu(3)
[ 55.369428] [hotplug]: cpu3 is killed! .
[ 55.370744] CPU3: Booted secondary processor
[ 56.901479] CPU2: shutdown
[ 56.904504] [hotplug]: cpu(0) try to kill cpu(2)
[ 56.909907] [hotplug]: cpu2 is killed! .
[ 57.941949] CPU3: shutdown
[ 57.945043] [hotplug]: cpu(0) try to kill cpu(3)
[ 57.950422] [hotplug]: cpu3 is killed! .
[ 58.920288] init: waitpid returned pid 881, status = 0000ff00
[ 58.926792] init: process 'preinstall', pid 881 exited
[ 58.951870] CPU1: shutdown
[ 58.954965] [hotplug]: cpu(0) try to kill cpu(1)
[ 58.960370] [hotplug]: cpu1 is killed! .
好像是系统一启动就只剩下CPU0在工作,请问大佬怎么解决,板子是RERVISION的VSTAR,固件是A33_Vstar_Android_Debug.img
离线
从这段 log 看,CPU2/CPU3 被 shutdown 后又 booted secondary processor,比较像系统的 hotplug/cpufreq/cpu budget 策略在动态开关核心,不一定是异常崩溃。
全志老 BSP 里经常有类似 CPU Budget、hotplug、thermal 相关策略:负载低或场景切换时会关掉部分核心,负载上来再拉起。你这里前面也有:CPU Budget:update CPU 0 cpufreq max...
后面紧跟 cpu hotplug 日志,所以优先怀疑是 cpufreq/cpubudget 在工作。
可以这样确认:
看 /sys/devices/system/cpu/cpu*/online,观察核心是否会随负载变化;
跑个 stress 或死循环把负载拉高,看 CPU2/CPU3 是否会重新 online;
检查内核配置/启动脚本里是否启用了 CONFIG_CPU_HOTPLUG、sunxi cpu budget、thermal 相关服务;
如果想临时固定多核,可以尝试手动 echo 1 > /sys/devices/system/cpu/cpu2/online,并停掉相关 hotplug/cpubudget 服务。
如果没有 panic/oops,也没有业务异常,只看到 shutdown/booted secondary processor,通常不是“核心坏了”,而是电源/温控/负载策略在动态关核。
离线