Windows 自旋锁分析(五)

来源:互联网 发布:玄彬韩国地位知乎 编辑:程序博客网 时间:2024/06/05 08:37

6,KeAcquireInStackQueuedSpinLockAtDpcLevel的实现机制

在单核(WinXP)下,KeAcquireInStackQueuedSpinLockAtDpcLevel直接返回。

在多核(Windows2003)下,KeAcquireInStackQueuedSpinLockAtDpcLevel

与KeAcquireInStackQueuedSpinLock比较除了不提升IRQL外,其他都是一样的。

7,KeAcquireInterruptSpinLock的实现机制


在单核(WinXP)下和多核(Windows2003)下,KeAcquireInterruptSpinLock的实现机制是一样的,先将IRQL升级到KINTERRUPT-> SynchronizeIrql,然后直接调用KefAcquireSpinLockAtDpcLevel。
而KeReleaseInterruptSpinLock则是先调用KefReleaseSpinLockFromDpcLevel,再将IRQL还原。

当然单核和多核下,KefAcquireSpinLockAtDpcLevel与KefReleaseSpinLockFromDpcLevel实现并不一样。

 

 

转自:http://blog.sina.com.cn/s/blog_612ae57d0100fusn.html

0 0
原创粉丝点击