LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 941|回复: 3

请教一个关于多CPU下只能使用一个CPU的问题

[复制链接]
发表于 2006-12-12 22:25:37 | 显示全部楼层 |阅读模式
大家好,我在作开发的时候用到了SMP系统,但是在进行网络流量处理的时候,两个CPU中却只有一个CPU在高负荷地运行,另一个却没有运行,我想了很久也没有思考出来,麻烦大家给个看法!
谢谢先!
我有几点想法:
1.是不是APIC里面的寄存器权限没有设置好,使得该从CPU不能接收到中断请求.
2.是不是内核代码中的cpumask这个变量没设置?
头都搞晕了!
发表于 2006-12-15 16:30:44 | 显示全部楼层
&&关注下!&&&
回复 支持 反对

使用道具 举报

发表于 2006-12-16 00:30:59 | 显示全部楼层
Post by scutan
大家好,我在作开发的时候用到了SMP系统,但是在进行网络流量处理的时候,两个CPU中却只有一个CPU在高负荷地运行,另一个却没有运行,我想了很久也没有思考出来,麻烦大家给个看法!
谢谢先!
我有几点想法:
1.是不是APIC里面的寄存器权限没有设置好,使得该从CPU不能接收到中断请求.
2.是不是内核代码中的cpumask这个变量没设置?
头都搞晕了!


不懂,也关注。
你的程序能不能多线程或者进程处理的?如果只是单个线程或进程,不知道两个CPU有什么好处?
回复 支持 反对

使用道具 举报

发表于 2007-1-1 10:44:45 | 显示全部楼层
你的程序是否是多线程的,如果程序自身只有一个线程在串行运行的话怎么能奢求Linux能将你一个线程放到两个CPU上运行?
只有你的程序中存在多线程的情况,且线程之间没有信息交互时才会有可能两个线程同时运行在两个CPU上;
个人见解仅供参考,我也刚开始做多核下的程序开发,有空一起交流
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表