如何保护Linux内核中多个中断处理程序之间共享的数据?

时间:2014-04-09 02:11:59

标签: linux-kernel locking interrupt spinlock

据我了解,如果中断处理程序中有一些数据与其他进程共享,则应使用自旋锁保护,我们还需要禁用本地中断。但是,如果数据在多个中断处理程序之间共享,我该怎样保护呢?

2 个答案:

答案 0 :(得分:2)

每当有critical sectionCS)可以在interrupt context中运行时,您使用spinlock来保护它,CS无关紧要interrupt handler 1}}在processinterrupt handlers之间或semaphore之间共享。

您不使用mutexinterrupt context的原因很明显,因为您无法在{{1}}中睡觉。

答案 1 :(得分:1)

中断处理程序是不可抢占且不可重入的,因此没有并发访问数据的范围。