Проблемы с тасклетами и прерываниями в Linux
Давайте предположим, что у нас есть обработчик прерываний и тасклет в Linux. Тасклет запланирован из этого обработчика прерываний.
Обработчик прерываний работает как некий производитель, а тасклет - как потребитель. Проблема возникает, когда тасклет выполняется дольше и прерывания происходят, когда он еще работает. Эти помехи вызывают несколько вызовов в журналах.
Как решить этот вид помех?
Единственная идея, которая у меня есть, - переместить обработчик прерываний в какую-либо рабочую очередь или другой тасклет и запланировать его из обработчика прерываний.
Это нормально? Есть другие идеи?
1 ответ
Мое предложение - перенести тяжелый процесс в пользовательское пространство и добавить отбрасывание кадров.