免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1691 | 回复: 2
打印 上一主题 下一主题

如何在多核上面保留自己的私有CPU [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-24 14:18 |只看该作者 |倒序浏览
大家好,我对于linux里面这一块代码没有仔细研究过,所以冒昧请教一下坛子里面的兄弟。
大致需求是这个样子的:
我有一个多CPU或者多核的板子,但是我只想其中的一个运行linux操作系统,接受调度,处理中断,其他的所有CPU或者核
运行私有计算,不响应任何系统调用或者中断。

查看了一些资料,我才有下面的一些方法。
1.通过isolcpus参数,指定运行的CPU
2.指定init线程只运行与系统核(跑linux的那个核)
3.其他所有核或者CPU禁止本地中断

最后的结果是系统及其不稳定,任何的系统调用都可能导致操作系统stuck或者崩溃,另外一些奇怪的线程占据大量的CPU时间,例如automount或者ksoftirqd等等

请问我的方向有没有走错,没错的话,下一步应该怎么调试。如果尝试的方向都错了,还请指正。谢谢各位。

论坛徽章:
0
2 [报告]
发表于 2010-03-24 20:26 |只看该作者
你私有计算,也是需要kernel去调度的!你仔细看看pcb和调度的代码,看看能否扩展pcb,然后再扩展exec族函数,这一可以区分的很详细,详细crash不会再有的!

论坛徽章:
0
3 [报告]
发表于 2010-03-25 10:20 |只看该作者
谢谢楼上的回复,可能我描述的不是很清楚。
我这儿的私有计算是不需要操作系统调度的,是一个无限死循环。例如:
for(;
{
    computing(void);
}

所以我的基本需求就是完全独立的占有初始化完毕的CPU,这个CPU不接受操作系统的任何调度,包括中断处理。

我本来想linux启动只以UP模式启动,其他CPU自己初始化,但是我看到现在的系统支持isolcpus,就想尝试看
这条路是否更为便捷一些。

麻烦各位同学多提意见哈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP