Что произойдет с выполнением тасклета, если прерывание происходит между
Вещи, которые я знаю о тасклете:
- Тасклет запускается со всеми включенными прерываниями.
- Тасклет работает в контексте прерывания.
- Это не может быть спать.
- Это работает атомным способом.
- У него есть гарантия, что он будет запланирован никогда не позже, чем следующий тик.
Мои вопросы:
- Так как в нижней половине все прерывания включены, что происходит, если запускается тасклет и между любыми прерываниями. (Если прерывания отключены во время выполнения тасклета, то в чем выгода тасклета)?
- Почему вы уверены, что тасклет всегда будет намечен до следующей отметки?
- Правильно ли говорить, что тасклеты мягче с уровнем приоритета 0(высокоприоритетный тасклет) и уровнем приоритета 6(нормальный тасклет)?
1 ответ
*Since in bottom half all interrupts are enabled, what happened If a tasklet is running and in between any interrupt comes. (If interrupts are disabled during tasklet execution then what is the benefit of tasklet)?*
Из того, что я понимаю, Tasklet (который построен на мягком IRQ) работает в контексте мягкого IRQ, что, по сути, означает, что он работает в контексте любого процесса, который был запущен, когда процесс был прерван Hard IRQ (так что это стек заимствования), поэтому снова прерывание вернется к выполнению тасклета.
*Is it correct to say that tasklets are softirq with priority level 0(Hi priority tasklet) and priority level 6(Normal taslet)?*
Да, тасклеты по сути являются обертками, построенными на Soft IRQ.