Проблемы с тасклетами и прерываниями в Linux

Давайте предположим, что у нас есть обработчик прерываний и тасклет в Linux. Тасклет запланирован из этого обработчика прерываний.

Обработчик прерываний работает как некий производитель, а тасклет - как потребитель. Проблема возникает, когда тасклет выполняется дольше и прерывания происходят, когда он еще работает. Эти помехи вызывают несколько вызовов в журналах.

Как решить этот вид помех?

Единственная идея, которая у меня есть, - переместить обработчик прерываний в какую-либо рабочую очередь или другой тасклет и запланировать его из обработчика прерываний.

Это нормально? Есть другие идеи?

1 ответ

Мое предложение - перенести тяжелый процесс в пользовательское пространство и добавить отбрасывание кадров.

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