我想知道这部分。我们知道 tasklet 不能休眠,那么如果 HW 中断进来,那么 tasklet 会发生什么?
我正面临崩溃,其中 tasklet 被硬件中断中断。我在我的小任务中使用了自旋锁。
我应该使用 spinlock_irq_save 吗?
请告诉我。
我想知道这部分。我们知道 tasklet 不能休眠,那么如果 HW 中断进来,那么 tasklet 会发生什么?
我正面临崩溃,其中 tasklet 被硬件中断中断。我在我的小任务中使用了自旋锁。
我应该使用 spinlock_irq_save 吗?
请告诉我。
是的你是对的。小任务可以被硬件中断中断,你应该防止这种情况。通过使用spin_lock_irqsave()
和家庭。
参考https://www.kernel.org/pub/linux/kernel/people/rusty/kernel-locking/c188.html
如果您不这样做并且如果 tasklet 被中断,那么您已经看到会发生什么(崩溃)