Linux内核同步与计时测量详解
1. 内核同步基础
Linux内核使用了多个宏来将本地中断的启用和禁用与自旋锁处理相结合。这些宏在单处理器系统和多处理器系统中有着不同的作用。在单处理器系统中,这些宏主要用于启用或禁用本地中断和内核抢占;而在多处理器系统中,它们对于避免竞态条件至关重要。
1.1 中断感知自旋锁宏
以下是一些常见的中断感知自旋锁宏及其描述:
| 宏 | 描述 |
| — | — |
| spin_lock_irq(l) | local_irq_disable(); spin_lock(l) |
| spin_unlock_irq(l) | spin_unlock(l); local_irq_enable() |
| spin_lock_bh(l) | local_bh_disable(); spin_lock(l) |
| spin_unlock_bh(l) | spin_unlock(l); local_bh_enable() |
| spin_lock_irqsave(l,f) | local_irq_save(f); spin_lock(l) |
| spin_unlock_irqrestore(l,f) | spin_unlock(l)
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



