关于【实时线程】的问题

mhpmii 2014-04-14 02:15:34
这么晚没睡只因为被实时线程的问题困扰,快来个人帮帮我啊!!!!!

周末终于搞懂了什么是linux 的实时线程,就是调度策略为FIFO 或者 RR,优先级小于99,的线程。是这样?

网上的资料都是在用户态程序创建和修改线程属性,或者用户态获得线程的pid 然后修改属性,那我要直接在内核模块中创建一个实时线程怎么办呢,用kthread_create()创建的线程优先级好像是120,但是我要的优先级要小于99,要怎么做呢,直接在内核模块的代码里怎么修改线程属性?

int pthread_attr_setschedparam() 和 sched_setscheduler() 这两个函数貌似都是 用户态的接口。

我可以 直接创建一个内核线程 struct task_struct *task;
然后 用 task->policy = SCHED_FIFO;
task->rt_priority = 20;
这样的笨办法去实现吗,这样做合适吗,会不会漏掉一些同样需要修改的参数?

谢谢各位大神
...全文
190 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不太了解,实时调度类的只有fiifo和rr了,可以参考kernel源码
mhpmii 2014-04-15
  • 打赏
  • 举报
回复
来个人啊,或者谈谈你们的看法

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧