首页 > 其他 > 详细

BSP之schedule hang

时间:2020-05-21 14:51:48      阅读:64      评论:0      收藏:0      [点我收藏+]

背景,在ARM V8 64bit的开发板上尝试运行编译好的4.4的内核时,发现uart上日志运行到ftrace: allocating 31083 entries in 122 pages,然后hang住了。通过打印日志,发现问题为,start_kernel=>rest_init=>schedule_preempt_disabled=>schedule=>__schedule=>context_switch=>switch_to,到这里hang住了。开始尝试

1. 怀疑设备树问题,通过原来开发板上OS中/boot/dtb/下面的文件,直接使用,或者通过dtc逆向dtc -I dtb -O dts *.dtb -o *.dts,问题依旧;

2. 怀疑Kernel config,开始修改

a. 关闭CONFIG_SCHED_MC, 含义为multi-core scheduler support. 问题依旧;

b. 尝试修改抢占选项,CONFIG_PREEMPT_NONE,为Server使用,是有问题的;尝试将其修改为CONFIG_PREEMPT_VOLUNTARY,问题依旧;尝试修改为CONFIG_PREEMPT,问题依旧;

3. 怀疑uboot,通过uboot方修改,问题解决。原因为uboot会load dtb档案到内存,根据实际内存的物理情况,进行修改,然后再传入Kernel。

 

BSP之schedule hang

原文:https://www.cnblogs.com/daobang/p/12804399.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!