Linux 5.12 的 I/O 相关改动
正在开发中的 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 以使用...