本篇用于记录从入门到放弃之路,以及过程中遇到的各种填坑指南。
1.
通过sched_setscheduler方法将线程设置为fifo实时线程,可以通过top查看
2. 通过set_infinity方法设置线程的亲和性
3. 需要留意cgroup中的rt线程资源限制(目前暂时不修改)
4.
通过使用dpdk中的rte_delay_us_block方法阻塞线程并执行其他代码测试
5. 遇到kernel看门狗了,被咬了。。。
6. 准备喂狗,
参考:https://blog.csdn.net/qq546542233/article/details/77979656
https://blog.csdn.net/weixin_44410537/article/details/86708540
网上通篇一律是
echo 30 >
/proc/sys/kernel/watchdog_thresh
只是将检查时间修改长,并未实际解决问题,最终应当写一个喂狗程序。
继续研究ing...
找了很久找到一个定时向/dev/watchdog文件中写内容来重置定时器,但是在自己机器上发现有watchdog/n程序,但是没有/dev/watchdog,rpm去iso中找到了watchdog的rpm包,安装后发现仍然没有/dev下面文件,最终结果是/dev/watchdog是softdog.ko模块添加的字符设备,参考:http://www.voidcn.com/article/p-knucedbz-bub.html
另外还有个添加字符设备的方法
mknod / dev /