Что происходит, когда тасклет прерывается аппаратным прерыванием?
Я хотел знать эту часть. Мы знаем, что тасклеты не могут спать, тогда, если происходит прерывание HW, что происходит с тасклетами?
Я сталкиваюсь с аварией, в которой тасклет прерывается прерыванием hW. Я использовал спинлок в моем тасклете.
Должен ли я использовать spinlock_irq_save?
Пожалуйста, дайте мне знать.
1 ответ
Да ты прав. Тасклеты могут быть прерваны прерываниями HW, и вы должны это предотвратить. Используя spin_lock_irqsave()
и семья.
См. https://www.kernel.org/pub/linux/kernel/people/rusty/kernel-locking/c188.html
Если вы этого не сделаете и если тасклеты прерваны, вы видели, что происходит (сбой)