lonkiss
驱动牛犊
驱动牛犊
  • 注册日期2002-01-15
  • 最后登录2004-07-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1079回复:1

自旋锁的问题

楼主#
更多 发布于:2002-07-04 20:27
    关于自旋锁还存在着一个不太明显但很重要的事实:你仅能在低于或等于DISPATCH_LEVEL级上请求自旋锁,在你拥有自旋锁期间,内核将把你的代码提升到DISPATCH_LEVEL级上运行。在内部,内核能在高于DISPATCH_LEVEL的级上获取自旋锁,但你和我都做不到这一点。
                              ――Walter Oney

上面的话是Walter Oney在《Programming the Microsoft windows driver model》中对自旋锁的一段描述,但是我的问题是,如果在中断服务程序里要访问被自旋锁保护的数据该怎么办??(是不是在中断服务程序里如果请求自旋锁就会把中断程序从DIRQL降到DISPATCH_LEVEL上去??)
问题是: 中断程序里怎么访问被自旋锁保护的数据?

我的真名就叫-龙旗
xdjm
驱动中牛
驱动中牛
  • 注册日期2001-04-02
  • 最后登录2024-01-25
  • 粉丝0
  • 关注0
  • 积分34分
  • 威望25点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-07-04 21:29
ISR有中断自旋锁,如果你自己需要,可以自己实现自旋锁,原理很简单,就是test-and-set.
游客

返回顶部