当前位置:  技术问答>linux和unix

驱动开发--SMP对应

    来源: 互联网  发布时间:2017-02-21

    本文导语:  大家好,第一次发贴,如有不妥之处,还请多多指正。 正题:如何确定临界区(临界资源)? 现在,我正对应一个板卡驱动程序的SMP版本。在UP机器上正常运行,在Duo CPU机器上关掉一个CPU核后也...

大家好,第一次发贴,如有不妥之处,还请多多指正。
正题:如何确定临界区(临界资源)?

现在,我正对应一个板卡驱动程序的SMP版本。在UP机器上正常运行,在Duo CPU机器上关掉一个CPU核后也可正常运行。而在Duo CPU机器上会发生NG情况,这一点可以说明“没有对应SMP”对吧?

我查阅代码,对于板卡寄存器相关操作都加上spinlock,但是还是NG(在Duo CPU机器上)。

现在我很困惑,不知道哪些地方还需要加SMP相关代码。甚至越看越迷茫,都有点“草木皆兵”(现在看着什么都该加锁)。

希望,得到大家的建议和指导,不胜感激……


|
不是所有寄存器操作都是临界资源,临界资源也不仅限于寄存器。

被多个执行单元(进程上下文以及中断上下文)同时并发地访问共享资源(硬件资源和变量),都是临界区。
某段代码,在一个cpu上执行时,如果可能被另外一个cpu或中断修改它使用的变量或者寄存器,都需要对这段代码做临界区保护。

smp下,进程上下文使用 spin_lock_irqsave spin_unlock_irqrestore
smp下,中断上下文使用 spin_lock spin_unlock

    
 
 

您可能感兴趣的文章:

  • 怎么安排event0对应的驱动
  • 写了个ATA驱动,在/dev/下没有看到对应的设备文件
  • i2c驱动对应的应用程序
  • linux设备驱动开发 iis7站长之家
  • 驱动加载后,/dev没有出现对应的节点
  • 显卡 NVIDIA GeForce 9300M GS 在linux 上对应的驱动文件是哪一个
  • 请教一个驱动与设备号对应的问题,百思不得其解
  • 请问驱动程序里怎么得到用户空间地址对应的物理地址?
  • 各位设备驱动开发的朋友,请问,linux设备驱动开发和网络编程开发哪一样工资比较高呀?
  • 想搞嵌入式驱动的开发,请大虾给个简单例程(通过SPI读写外扩存储芯片),以及开发步骤及应注意的地方,怎么加入内核和使用该驱动?谢谢
  • 驱动程序开发和嵌入式开发有什么联系吗?
  • 请问shell 开发能开发什么样的程序?硬件的驱动程序是否能够开发呢?
  • 请介绍下比较好的驱动开发类、嵌入式开发类的书籍100分。
  • 哪位大哥大姐懂驱动驱动程序开发哇?
  • 请教有关linux驱动开发,按关机键关机时,驱动应作哪些结束工作?
  • 学习linux驱动开发,买什么开发板好?
  • [求助]linux下的usb驱动开发的书籍
  • JDBC驱动开发包 jxDBCon
  • 求:教我驱动开发吧!!!
  • 求基于arm的usb驱动开发的书籍
  • linux设备驱动开发
  • dos下如何开发USB驱动--知道的不管多少一定给分!!
  • 问下啊。比如自己开发的linux驱动要gpl吗?
  • 新手关于驱动开发的疑问
  • 学习linux网络驱动开发有哪些比较好的书籍?
  • 嵌入式驱动开发流程
  • linux内核编程,具体指什么,是不是就是驱动开发 ?
  • linux 设备驱动开发&调试技术---!!!!!!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • 字符设备驱动,混杂设备驱动,总线、设备、驱动模型、平台驱动
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • 好不容易下到sis900网卡for unix的驱动,但装上驱动后系统驱动时: SiS900 adapter initialization failure!
  • 我的网卡在redhat7.3下不能自动驱动,但我有for linux的驱动程序,请问如何才能驱动我的网卡,我是菜菜,请详细说明,谢谢!
  • Linux环境下,“PC机的驱动”与“嵌入式驱动”有什么区别?
  • linux:怎么在驱动中调用IIC驱动?
  • linux驱动 单片机驱动
  • linux下一个驱动怎么调用另一个驱动
  • u boot中怎样写flash驱动以及串口驱动
  • Linux环境下,如何一个驱动中调用另外一个驱动
  • 一个驱动文件,生成多个驱动模块??
  • -------------- 请问大家,做好一个PCI设备驱动了,如何做个应用程序来使用这个驱动呢??
  • pcie驱动和pci驱动
  • usb驱动中 hcd,pcd,device,gadget驱动有什么区别啊?
  • 移植pci驱动和RTL8139网卡驱动,只发生一次中断?
  • 想试着编写简单驱动玩,但是手头上没有什么好驱动的设备,大家支招
  • Linux源代码中ata驱动为什么要调用pci驱动的代码
  • Linux设备驱动(第三版)- 字符设备驱动 - 例子
  • Linux 9.0+865G,只能上到640×480,Intel官方站点的最新驱动安装失败,那位有驱动?
  • insmod 加载驱动模块后,重启后驱动为什么没有了


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3