如何在SMP系统下,锁住其他CPU,只让一颗CPU工作?

yanghuajia 2006-08-01 01:44:32
需要执行一些特殊的硬件操作,必须只有一颗CPU工作不知到如何作?
...全文
289 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanghuajia 2006-08-01
  • 打赏
  • 举报
回复
end
yanghuajia 2006-08-01
  • 打赏
  • 举报
回复
知道怎么回事了!
其实要求是进程和CPU绑定。
用sched_setaffinity
浪费我好多时间。
slone 2006-08-01
  • 打赏
  • 举报
回复
也mark一下下 :)
其实并不存在真的能锁住其它CPU 的指令,只能是锁住总线,因为总线是共享的,中断是每个CPU自有的,锁中断并不能锁住CPU ,锁总线汇编指令好像是lock, 但我觉得你不外乎要保护数据的存取呀,可以采用spinlock_t 也是锁总线的操作,另外还有 barrier 都可以保证你的数据正确写到device register 的。
zdhzidy 2006-08-01
  • 打赏
  • 举报
回复
一个进程在一个CPU上运行,你只要保证当前系统只有一个进程在运行当然就只有一个CPU在用。
如果你是在内核中你只要简单的关闭中断就行,你如果在用户层好像就没有什么办法可以控制了。
yjf7888 2006-08-01
  • 打赏
  • 举报
回复

http://www.tldp.org/HOWTO/SMP-HOWTO.html#toc4

http://www.linuxforum.net/forum/showthreaded.php?Board=linuxK&Number=453875&page=0&view=collapsed&sb=9
yanghuajia 2006-08-01
  • 打赏
  • 举报
回复
作记号 不给分!
帮我查到资料才行。
yjf7888 2006-08-01
  • 打赏
  • 举报
回复
关注,作个记号先

4,436

社区成员

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

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