皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Linux 6.18 块代码引入了无锁位图用于软件 RAID

上周,Linux 6.18 内核合并了块子系统和 IO_uring 的更新,有一些值得注意的项目。

通过多个设备“MD”软件 RAID 支持,Linux 6.18 现在新增了无锁位图选项。华为工程师余快领导了这项 MD 无锁位图代码的工作,并在补丁系列中进行了说明:

“冗余数据用于提高数据容错性,冗余数据的存储方法取决于 RAID 级别。保持冗余数据的一致性非常重要。

位图用于记录哪些数据块已同步,哪些需要重新同步或恢复。位图中的每个位代表数组中的数据段。当一个位被设置时,表示该数据段的多份冗余副本可能不一致。在电源故障或重新添加磁盘后,可以根据位图进行数据同步。如果没有位图,则需要进行完整的磁盘同步。”

#### Key Features   #### 关键特性

– IO 快速路径是无锁的,如果用户在短时间内向同一位图位发出大量写 IO,只有第一次写操作需要额外的开销来更新位图位,后续的写操作没有额外的开销;
– 仅支持重新同步或恢复已写入的数据,这意味着在创建新数组或用新磁盘替换时,无需进行完整的磁盘重新同步/恢复;

除了 MD 的无锁位图支持外,Linux 6.18 的块更新还包括常规的 NVMe 更新、更多的 Rust 块更改、清理软盘代码、改进 P2P 支持以及其他增强功能。

Linux 6.18 块代码引入了无锁位图用于软件 RAID

另外,IO_uring 的拉取现在将用户提供的缓冲区存储在本地,支持同一环中的混合 CQE 大小,为异步数据管理提供新的辅助工具,支持使用 uring_cmd 的多次调用,改进零拷贝接收,以及初始支持环功能查询。

转自 Linux 6.18 Block Code Introduces Lockless Bitmap For Software RAID – Phoronix