У меня есть поток ядра, который поставляет буферы в чип и который не запланирован на несколько секунд, даже если он настроен на запуск каждые 20 мс или всякий раз, когда установлено событие. Это приводит к тому, что чипу не хватает буферов, и входящие данные теряются. Кажется, проблема возникает, когда пользовательские процессы используют много ресурсов ЦП.
Я попробовал установить значение -20, которое имеет более высокий приоритет, чем любые пользовательские процессы или потоки драйверов на моем сервере, а затем Я пробовал планирование в реальном времени с SCHED_FIFO и приоритетом 99(!) через chrt, но безрезультатно. Единственный способ заставить этот поток работать последовательно — это вызвать функцию обработки моего потока из другого потока, который работает с renice -18 и который запускается всякий раз, когда от чипа поступает буфер. У этой другой темы нет проблем с планированием.
Мне нужно это понять, чтобы быть уверенным, что это изменение будет работать в полевых условиях.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -sometimes
Поток ядра Linux иногда не запланирован ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение