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

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

Сообщение Anonymous »

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

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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