版块
论坛
喜欢
话题
应用
搜索
登录
注册
edriver的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=17594
急问!关于双CPU!
我的PCI driver在单CPU的机子运行良好,但是在双CPU上运行有问题,死机或重起!这是为什么呢?按理说单CPU版的driver在双CPU下应该能运行的呀!
回复
(
6
)
2003-05-23 10:19
来自版块 -
内核编程
◆
◆
表情
告诉我的粉丝
提 交
yunyanrong
:
你用的是DriverWorks么? DriverWorks的默认工程中,好像已经设置为只让第一个CPU响应中断了。联系一下吧,QQ:22708952。
(2003-06-17 19:45)
回复
robin_wxg
:
加一些KeAcquireSpinLock()的保护。
(2003-06-06 08:50)
回复
yjhleaf
:
其实你用系统排队的话,它只是在系统调用队列中用自旋锁保护了而已,在队列外面的话,你得自己加锁保护了。譬如你对一个端口进行读和写,第一个线程可能是CPU1在执行端口写,而同时第二个线程是CPU2在执行端口 读,这就会发生冲突了。
(2003-06-05 20:45)
回复
edriver
:
在我的driver可没有用多线程呀,在本论坛看了看这方面的例子,都说是因为spinlock引起的,主要是在调用startio函数,因为在调用该函数的时候,其内部会使用spinlock的,那各位老大,会不会是这个原因呢?
(2003-05-23 14:42)
回复
AllenZh
:
edriver兄说得没错,你一定是没有考虑周全,导致数据或其它资源的不完整,或者说被破坏,不应该写具有线程相关的代码,多使用Event、Mutex等
(2003-05-23 14:19)
回复
arthurtu
:
双CPU可是可以真正的多线程了,没有考虑周全吧?
(2003-05-23 10:26)
回复
edriver
加关注
写私信
0
关注
0
粉丝
146
帖子
返回顶部