2009-12-24 4 views
1

Я читаю данные с устройства HID с помощью hiddev, для его чтения есть выделенный поток, но кажется, что поток отбрасывает некоторые пакеты. Я вижу пакеты в буферах ядра (usbmon), но некоторые из них не достигают пользовательского пространства. Чтения внутри считывающей нити в основном заканчиваются во времени (~ 4 мс). Я думаю, что процесс не получает достаточного количества процессорного времени, поэтому ядро ​​заполняет свою очередь и отбрасывает пакеты, к тому моменту, когда процесс добирается до их чтения, он находит только хвосты или вообще ничего ?!увеличивать приоритет потока в Linux

Любые суеверии, о которых я думал, в повышении проницаемости нитки ?! какая подходящая функция?

Спасибо, ребята

ответ

1

Используйте pthread_setschedprio() из librt.

+0

Я решил повредить весь процесс в реальном времени с помощью sched_p.sched_proirity = 20; // в реальном времени sched_setscheduler (getpid(), SCHED_FIFO, & sched_p); – Stb