一、修改步骤:
- 修改linux 内核编译配置,CPU赫兹,从100改为1000,使调度频率从10ms变为1ms(内核.config文件 CONFIG_HZ),修改内核后驱动以及整体驱动都重新编译
- 内核修改后,所有业务驱动需要重新编译链接。进入 source/out/obj目录,执行make clean;make
- 修改vdec解码调度
使用ot_user 使vdec解码调度为FIFO, ko编译后需要insmod,代码目录在smp/a55_linux/interdrv/ot_user, 修改ot_user.h ,linux 环境下 VDEC_SET_SCHEDULER 为1,同时把所有Linux 调度频率10ms改为1ms.
二、问题现象:
内核cpu 频率修改成功,驱动也编译成功,但是新ot_user.ko驱动无法加载成功
进一步分析发现编译过程提示找不到sched_setscheduler 接口,同时查看内核发现确实没有该接口。故查看内核源码搜索该接口,发现该接口没有导出来。
三、解决办法:
找到内核这个符号的位置,加EXPORT_SYMBOL(xx符号);再重编,最终问题解决
最后 验证成功加载运行,验证 调度是否正确