Linux 中增加线程的优先级
我正在使用 hiddev 从 HID 设备读取数据,有一个专用线程来读取它,但似乎该线程正在丢弃一些数据包。我可以看到内核缓冲区(usbmon)中的数据包,但其中一些数据包未到达用户空间。读取线程内的读取大多按时完成(~4ms)。我认为该进程没有获得足够的处理器时间,因此内核填充了其队列并丢弃了数据包,当进程读取它们时,它只找到了尾部或根本什么也没有?!
我一直在考虑增加线程优先级的任何建议吗?!合适的功能是什么?
谢谢大家
I am reading data from a HID device using hiddev , there is a dedicated thread to read off of it, but it seems that thread is dropping some packets. I can see the packets in the kernel buffers(usbmon) but some of them don't reach user space. The reads inside the reading thread mostly finish on time(~4ms). I think the process is not getting enough processor time, thus the kernel fills its queue and drops the packets, by the time the process gets to read them it only finds tails or nothing at all?!
Any sugestions I have been thinking in increasing the proiority of thread?! what is the appropiate function?
Thanks guys
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 librt 中的 pthread_setschedprio() 。
Use pthread_setschedprio() from librt.