2009-12-24 32 views
1

我正在使用hiddev從HID設備讀取數據,有一個專用線程可以讀取它,但似乎線程正在丟棄一些數據包。我可以看到內核緩衝區中的數據包(usbmon),但其中一些未到達用戶空間。讀線程內的讀取大部分按時完成(〜4ms)。我認爲這個過程沒有獲得足夠的處理器時間,因此內核填充它的隊列並丟棄數據包,等到進程讀取它們時,它只發現尾巴或什麼都沒有?!在Linux中增加線程的優先級

任何暗示我一直在想增加線程的親和力?!什麼是合適的功能?

謝謝你們

回答

1

使用pthread_setschedprio()librt

+0

我決定將整個過程與 sched_p.sched_proirity = 20實時碰撞; //實時 sched_setscheduler(getpid(),SCHED_FIFO,&sched_p); – Stb 2010-02-03 15:24:04