作者:
wtchen (沒有存在感的人)
2015-10-10 01:51:31是這樣的,我正在想辦法解決RPI裡thread中的usleep不夠準的問題
(usleep 3000 -> 有時候會變6000多)
我看bcm2835 lib的說明有建議說把thread設成MAX priority
可以避免thread被swap
像這樣:
struct sched_param sp;
memset(&sp, 0, sizeof(sp));
sp.sched_priority = sched_get_priority_max(SCHED_FIFO);
sched_setscheduler(0, SCHED_FIFO, &sp);
mlockall(MCL_CURRENT | MCL_FUTURE);
我嘗試了以後,發現無線網路會因此頓頓的(因為我用ssh連)
看來是因為priority被搶走了以至於response time 太長
請問我要如何設才能讓thread比無線網路相關thread的優先權小(但相對來說還是高)?
Thanks.