分类: LINUX
2012-06-27 17:19:34
A:首先说明,最简单的原则:保护弱者。
order | 情形 | 方法 |
1 | 单cpu下,进程与中断 竞争 | 关中断 |
2 | 单cpu下,buttom_half 与中断(此详细为上半部) 竞争 | 关中断 |
3 | 一个进程中,多个线程竞争 | 信号量 |
4 | 进程正在执行, 发生内核抢占 与其竞争资源 | 暂时禁止内核抢占 |
分界线 | -- | -- |
5 | 多cpu下,进程之间竞争 | 自旋锁(spinlock) |
6 | 多cpu下,中断(此详细为上半部)之间竞争 | 自旋锁(spinlock) |
7 | 多cpu下,多个tasklet之间 竞争 | --(由于tasklet内部已实现有序,不必加锁) |
8 | 多cpu下,多个软中断(softIrq) 之间竞争 | 禁中断 |
| - | - |
以上总结至此,大家有好的意见尽管提哈