Порядковая доставка прерываний UIO для драйвера пользовательского пространстваLinux

Anonymous
Порядковая доставка прерываний UIO для драйвера пользовательского пространства

Сообщение Anonymous »

У меня определено несколько прерываний UIO. Я использую Linux 6.12 без конфигурации реального времени.
Мой драйвер пользовательского пространства использует опрос в цикле для наблюдения за этими прерываниями, как описано здесь.
Иногда из-за частоты прерываний и капризов планировщика ядра мой процесс пользовательского пространства просыпается с несколькими прерываниями для обработки.
API опроса (и выбора, и epoll) не передают порядок возникновения прерываний — выходные данные находятся в том же порядке, что и входные.
Есть ли какой-либо способ для драйвера пользовательского пространства надежно обрабатывать прерывания UIO по порядку? Если нет, существует ли часть документации Linux, объясняющая, почему невозможна упорядоченная доставка прерываний в пользовательское пространство с помощью планировщика, работающего не в реальном времени?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ace-driver

Вернуться в «Linux»