在spin_lock_irqsave与spin_unlock_irqrestore中的内核抢占持有锁不可以抢占,一旦被抢占,锁将会长时间不能释放,在另外一个CPU的进程(如中断)如果也在等待该锁(如自旋锁),将会长时间等待。检查是否需要抢占的时机:1,中断返回内核之前2,在锁释放的时候,因为释放锁时,锁的数值可能为0,这个时候内核就可以抢占,所以在释放锁时检查下是否有抢占(是否有紧急的任务需要执行)版权声明:本文为yiyeguzhou100原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/yiyeguzhou100/article/details/49869015