Изучая обработку прерываний Linux, я обнаружил, что тасклеты и SoftIRQ - это два разных метода выполнения «нижней половины» (работа с меньшим приоритетом). Я понимаю это (вполне реальная потребность).
Разница в том, что SoftIRQ повторно вводятся, а Tasklet - нет. Тот же самый SoftIRQ может работать на разных процессорах, в то время как в случае с тасклетами этого не происходит.
Хотя я понимаю это с поверхности, но не могу понять требования этих двух функций. В каких случаях мы можем использовать эти средства? Как распознать, что я должен использовать тасклеты сейчас и тогда SoftIRQ.
Также что мы подразумеваем под тем, что тасклеты создаются на основе SoftIRQ? В одной из книг, которые я прочитал по LKML, обсуждались вопросы удаления тасклетов. Я совершенно запутался, зачем вводить такую функцию?Некоторая близорукость (не в обиду)?
Любые указания по этому поводу очень помогут.