关于kernel_thread函数

wangericac 2008-12-26 02:30:46
请问内核下开线程函数kernel_thread如果在软中断中开辟一个线程
那么这个线程属于软中断的一部分吗?
我现在在软中断中要访问一个队列 而这个在软中断中由kernel_thread开辟的线程中也要访问这个队列
这就涉及到加锁的问题,不知道这个线程属于那部分就没有办法知道加什么锁,请知道的朋友赐教
...全文
181 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
erigido 2009-01-05
  • 打赏
  • 举报
回复
保护是以数据为目标的,不是程序,软中断中或线程需要访问什么数据是确定的。内核下主要有几种:up、down
spin_lock、spin_unlock、spin_lock_irq、spin_unlock_irq。
建议使用spin_lock_irq、spin_unlock_irq这对锁;

另外,软中断中开辟一个线程 是什么概念?没见过这样的哦.^_^
vigorousfish 2009-01-04
  • 打赏
  • 举报
回复
按照楼主说的,访问共享数据应该采用软中断实效的读写锁
lctel 2009-01-04
  • 打赏
  • 举报
回复
该线程不属于软中断。软中断是在硬中断执行完后的操作,可能发生在硬中断返回或ksoftirqd中,你自己开辟的线程不属于此范畴。不过有共享数据都是需要保护的
gql1123 2009-01-04
  • 打赏
  • 举报
回复
难, up
cuijie_cn 2008-12-26
  • 打赏
  • 举报
回复
不会 帮你顶个

4,469

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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