【发布时间】:2019-10-22 05:14:11
【问题描述】:
我知道自旋锁的 irqsave 版本在获取锁定时记录中断状态并在释放锁定时恢复中断状态。
我的疑问是,假设总共有 10 个中断向量,其中 2 个处于禁用状态(假设设备驱动程序已禁用这两个中断向量),同时使用 irqsave 变体进行锁定。 spin_lock_irqsave() 的 flag 参数是否记下中断状态并在恢复期间仅启用 8 中断?如果在flag 参数中保存状态后,从其他 CPU 启用这 2 个禁用的中断怎么办?
【问题讨论】:
标签: c linux-kernel interrupt spinlock irq