Linux 串行控制台的驱动程序补丁实现约 25% 的性能提升
据外媒 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 变得不一致的长期问题。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《Node.js 开发者 2021 报告》发布
《Node.js 开发者 2021 报告》已于近日发布。据介绍,负责这份报告的调查组织以Ecma成员的名义发起。组织的成员来自多个机构,包括 Ecma、TC39、Node.js 基金会等。同时也包含一系列来自阿里巴巴和腾讯的合作公司。不过组织本身与 Ecma 没有归属关系,仅作为独立运营的组织存在。 这份调查报告旨在帮助大家更好地了解 Node.js 生态现状: 大家都是如何使用 Node.js 梳理 Node.js 技术栈 聚焦前端/Node.js 开发者都在关注什么 帮助开发者找准 Node.js 的定位(用来干什么的) 找到目前 Node.js 生态所缺乏的以及被期望的内容 受访开发者年龄分布 本次调查问卷中,填写问卷的Node.js 开发者主要年龄分布如下: 受访开发者职业情况 典型的受访者来自两种公司,分别是百人左右的中小型公司,以及 5k 人以上的大公司。 他们通常是 7 人左右的团队内的前端或者全栈工程师。 相比去年,今年的后端工程师比率有较高提升(约 10%)。 工作内容 应用场景 开发者使用 Node.js 一般用于 to B 业务。 大公司内会有更多的人使用 Nod...
- 下一篇
Ubuntu 进一步降低硬件门槛,支持在 2GB 内存的树莓派 4 上运行
Ubuntu 已经支持 Raspberry Pi(树莓派)4 Model B 的 4GB 和 8GB 内存版本(自 Ubuntu 20.10 版本支持)。现在 Ubuntu 团队计划进一步降低 Ubuntu 的硬件门槛,让即将发布的 Ubuntu 22.04 LTS 版本能在只有 2GB RAM的Raspberry Pi 4 上运行。 然而,让 Ubuntu 这样一个完整的 Linux 系统在内存过低的硬件设备上正常运行是很困难的,那 Ubuntu 是如何做到的呢?那就不得不提到一个名为 zswap 的 Linux 内核特性。 在提及 zswap 特性之前,先来说说 Linux 的虚拟内存文件:swap file 。任何类型的 Linux 系统都会在硬盘或 SD 卡上分配一个swap文件,它充当 RAM(运行内存) 的一种溢出,在系统的可用内存不足的时候,swap 文件会缓存部分页面,释放内存给活跃的进程使用,这样系统即使在几乎用完所有 RAM 时也能继续工作。(另外提一下,Win 10 的系统盘也有 swapfile.sys 文件) 但是,使用swap文件的性能不如直接使用 RAM,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装