Linux读取()延迟

有没有一种方法可以提高Linux(4.8)中串口数据处理的延迟? 特别是,线上的实际数据与此端口上的select()和read read()函数返回之间的时间。 数据在线读取范围跟踪完成(蓝色)

现在,我的测量显示350微秒。 该进程以SCHED_RR优先级90运行。有没有办法缩短这个时间,或者我必须改变驱动程序? 我使用PERICOM(PI7C9X7954)的16C550兼容芯片。

所以为了解决这个问题,我不得不在用户空间编写自己的驱动程序。 这不是很困难,只是想出了如何正确配置芯片。 该芯片使用内存映射IO进行访问。 内存偏移量可以从/sys/dev/char/<major>:<minor>/iomem_base文件中/sys/dev/char/<major>:<minor>/iomem_base

在这里输入图像描述

只需要确保端口永远不会打开。 否则,操作系统将尝试读取相同的数据。