正在开发中的 Linux 5.12 合并了块子系统和相关存储更改的代码,其中值得注意的包括 io_uring 、块和驱动的改动。
io_uring 改动的重点是请求回收和 task_work 优化,这些改动可以在大部分是内联的工作中提高 10-20% 的速度。 最初完成这项工作是为了将 io_uring 置于 memcg 下,这增加了相当大的开销,但这是值得的。另一个亮点是 VFS 中的 LOOKUP_CACHED 更改,并为其添加 io_uring 支持,这大大加快了文件打开的快速路径。
而在块的改动中,删除的代码多于添加的代码(主要由于 Christoph 坚持不懈地追求技术债务的清理),这些改动包括 BFQ 优化、blk-mq 调度器优化、分区写入粒度支持、将 bdev 指针存储在 bio 而不是 gendisk 和 partno 中、 bvec 分配优化等。
在块驱动程序的改动中,大部分是 NVMe 驱动程序的改动,包括避免 nvme-hwmon 中的 devm 分配不能很好地交互、修复 no-data 命令的 nvme-tcp 崩溃、 切换 nvmet-fc、assoc_list 以使用 RCU 保护等。此外,还有针对 MD 代码的 RAID5 修复、BCache 修复,甚至包括久违的软盘驱动程序更新。
按照计划,在 Linux Kernel 5.11 正式发布后,5.12 便会进入合并窗口阶段。然而由于上周的美国严寒天气,实际上直到昨日才有 Linux 5.12 代码被推送到 Linux Git 仓库中,不过接下来, Linux 5.12 的合并窗口应该会进入正轨。
本文转自OSCHINA
本文标题:Linux 5.12 的 I/O 相关改动
本文地址:https://www.oschina.net/news/130619/linux-5-12-io-changes
图片来自 Pexels 突然电话响了起来,一看是我们的一个开发同学,顿时紧张了起来...
PHP+Mysql简单实现了图书购物车 本文主要讲述如何通过PHP+HTML简单实现图书购物...
有许多命令行选手在linux下开发的时候会经常遇到一个问题,无论是svn还是git,提...
Java HashMap removeNode 方法 分析 源码分析仓库 https://github.com/HANXU2018...
1. 始终在 `v-for` 中使用 `:key` 在需要操纵数据时,将key属性与v-for指令一起...
mysql提供的模式匹配的其他类型是使用扩展正则表达式。 当你对这类模式进行匹配...
官网连接 https://docs.rt-thread.org/#/rt-thread-version/rt-thread-standard/...
vscode怎么浏览器打开html预览?这里大家可以通过安装open in browser插件解决。...
步骤: 1、新建一个空文件,文件名为hhhh 2、初始化 git init 3、自己要与origin...
1.小程序端代码示例 my.getPhoneNumber({ success: (res) = { let encryptedData...