Что произойдет с выполнением тасклета, если прерывание происходит между

Вещи, которые я знаю о тасклете:

  1. Тасклет запускается со всеми включенными прерываниями.
  2. Тасклет работает в контексте прерывания.
  3. Это не может быть спать.
  4. Это работает атомным способом.
  5. У него есть гарантия, что он будет запланирован никогда не позже, чем следующий тик.

Мои вопросы:

  1. Так как в нижней половине все прерывания включены, что происходит, если запускается тасклет и между любыми прерываниями. (Если прерывания отключены во время выполнения тасклета, то в чем выгода тасклета)?
  2. Почему вы уверены, что тасклет всегда будет намечен до следующей отметки?
  3. Правильно ли говорить, что тасклеты мягче с уровнем приоритета 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.

Другие вопросы по тегам