首页 > TAG信息列表 > irqsave
自旋锁 spin_lock、 spin_lock_irq 以及 spin_lock_irqsave 的区别
1、spin_lock 不能处理硬件中断 2、spin_lock_irq 不能处理同个中断的多个锁 3、spin_lock_irqsave 解决上述锁的问题 参考链接: https://www.byteisland.com/自旋锁-spin_lock、-spin_lock_irq-以及-spin_lock_irqsave-的区别/spin_lock_irqsave关中断后,为什么要再禁止抢占
假设有这么个情况: 1、CPU-1在进程A的上下文调用了spin_lock_irqsave; 2、CPU-2调用wake_up_process唤醒了CPU-1上的进程B,由于进程B的优先级高于进程A,进程A的TIF_NEED_RESCHED标记被设置。(CPU-2还会用IPI通知CPU-1进行resched,但是CPU-1禁用了中断而不会响应); 3、CPU-1调用了某某函数,