Linux 串行控制台的驱动程序补丁实现约 25% 的性能提升

来源: OSCHINA
编辑: 罗奇奇
2022-01-13

外媒 Phoronix 报道,Red Hat 工程师偶然发现 Linux 串行控制台的性能非常低下,因此在 Linux 5.17 内核中引入了一些等待处理的改进补丁,以改进串行控制台吞吐量。

Red Hat 的 Wander Lairson Costa 注意到其 HP Proliant DL380 Gen9 服务器的串行控制台吞吐量远低于预期:预期是 10KB/s,但当前 Linux 内核只有 2.5KB/s 左右。Linux 8250 串行控制台驱动程序仅调度一个字节就需要大约 410 微秒。

Wander 借助 Linux 8250/16550 串行端口控制台驱动程序来提高其性能,16550 串口具有芯片 FIFO 缓冲区,现在 8250 串行驱动程序的写入操作(write)会使用该缓冲区(在支持的系统上)。通过此补丁可以使用受支持的 16550 串口 FIFO 缓冲区,受影响系统上的 8250 控制台驱动程序的串行控制台,吞吐量性能提高了约 25%。

该补丁由 Greg Kroah-Hartman 作为Linux 5.17 合并窗口的 TTY/串行更新的一部分发送,此外还有 TTY 代码清理等工作,还修复了在 TTY 控制台与桌面之间使用 Ctrl + Alt + Fn 键切换时,键盘锁定 LED 变得不一致的长期问题。

展开阅读全文
2 收藏
分享
加载中
最新评论 (7)
要提高数据通讯效率,也可以改用其它接口呀。比如,换成 RJ45 网口,最新的蓝牙通讯协议...
2022-01-14 08:10
0
回复
举报
mptcp持续改进会不会在5.17有阶段性成果并默认开启支持呢!!
2022-01-13 16:58
0
回复
举报
从 2.5 提高到 10 是提高 25% 吗?
2022-01-13 10:04
0
回复
举报
预期是10,但优化只提高了25%,说明远没到达目标
2022-01-13 12:38
0
回复
举报
Red Hat 工程师偶然发现 Linux 串行控制台的性能非常低下
2022-01-13 09:49
0
回复
举报
这还需要偶然发现吗?串口不是一直都很慢吗?用来做个日志输出就够了。
2022-01-13 10:07
0
回复
举报
发现不是问题,问题是怎么解决。
改软件是一个办法,换用RJ45 网口也是一个办法。
大多数人都不会去想着这次应该我来做个软件补丁、提高速度,而是换用RJ45 网口。比如,打印机厂商。打印机用户嫌慢?好说,我有更高档的打印机,并口改成网线口,来买吧~~
2022-01-14 08:14
0
回复
举报
更多评论
7 评论
2 收藏
分享
返回顶部
顶部