interrupt 太頻繁
本帖最后由 shihyu 于 2016-03-10 00:09 编辑写支driver 控制一颗 IMU ,当IMU 有数据就会发 interrupt 之后读出数据 ,
内核透过 send_sig发user space 对应的process 后用read 往取回IMU数据
可是IMUsample rate 设1Khz 会造成IMU 吐出来数据有问题 ,
但是 user space不要往内核 read ,IMU 数据还是正常 ,
所以在怀疑是不是IMU , send_sig , read interrupt 太过频繁所以造成 IMU timing 不对造成吐出来数据异常
请问有可能interrupt 太频繁会造成这样问题吗?
如果是有办法 kernelspace 往 user space 送数据 能减少 interrupt 次数?
使用 mmap 需要用到 interrupt ?
谢谢 我觉得你这不是interrupt太频繁,
是cache一致性没有保证好吧
“但是 user space不要往内核 read ,IMU 数据还是正常 ,” 不read你怎么知道数据是错误的?你在内核也把数据打出来?
存在这种可能,你的用户态还没有来得及把数据读上来,下一个中断就又来了。在内核态加些打印看看就好了。
你在内核也把数据打出来?yes 回复 4# shihyu
那你在内核再打印点信息,应该很好定位呀,这种问题。是否读不过来? 读不过来,可以采用队列呀。
页:
[1]