高性能存储 SIG 月度动态:优化 xfs dax reflink 时延,独立选型并维护 mdadm 和 ledmon

本次高性能存储月度动态综合了 SIG 在 5、6 两个月的工作进展,包含多项特性支持,性能优化,以及 Bugfix 等。

01 SIG 整体进展

  • 引入 xfs deferred inode inactivation,进一步优化 xfs dax reflink 过程中的抖动时延。

  • Intel 将在 SIG 中独立选型 mdadm & ledmon 并维护。

  • fuse 支持 resend pending 请求和读写分离优化,virtio-fs 支持多队列。

  • erofs 支持 zstd 压缩算法,并重构 utils 支持 lib 库集成以及增量构建。

  • dsms 解决断电场景数据丢失问题,并通过优化 ceph 内存分配解决碎片化场景 IO 延迟升高问题。

02 项目具体进展

2.1 Cloud Kernel

2.1.1 erofs

Bugfix\] 修复 erofs_statfs() 中 UUID 问题,并优化 DEFLATE stream 分配逻辑。(PR3281/PR3285/PR3287) \[Feature\] 支持 zstd 压缩算法,已合入社区 6.10 主线。 \[Feature\] 重构 erofs utils,可提供 lib 库供其他项目集成,如 DADI。 \[Feature\] 支持 centos oot。 \[Feature\] erofs utils 支持增量构建。 **2.1.2** **xfs** \[Feature\] quota functions 重构,该系列补丁为 deferred inode inactivation 的准备工作。(PR3154) \[Feature\] 空间不足时 reclaim 策略优化,该系列补丁同样为 deferred inode inactivation 的准备工作。(PR3156) \[Feature\] posteof 和 cowblocks 重构,该系列补丁同样为 deferred inode inactivation 的准备工作。(PR3158) \[Feature\] incore inode walk 重构,该系列补丁同样为 deferred inode inactivation 的准备工作。(PR3159) \[Feature\] deferred inode inactivation。(PR3160) \[Bugfix\] 修复 CONFIG_FS_DAX 关闭时编译错误。(PR3164) \[Improment\] 增加 XFS_IOC_SET_REFLINK_FLAGS 的检查条件,并导出 xfs_wait_reflink_secondary()。(PR3205) \[Performance\] 优化 xfs_log_force() 可能存在的数十 ms 阻塞导致的 reflink 抖动。(PR3273i/PR3306) **2.1.3 ext4** \[Bugfix\] 回合社区 stable 分支补丁。(PR3141) **2.1.4 i** **o_uring** \[Bugfix\] 修复 io_uring percpu sqthread 特性,限制仅在同一个进程下多线程之间共享。(PR3127/PR3138) **2.1.5 fuse/virtio-fs** \[Bugfix\] 修复 statx 系统调用 ENOSYS 错误。(PR3118) \[Feature\] 支持显示禁用 export。(PR3166) \[Feature\] 支持 resend pending 请求。(PR3264/PR3271) \[Feature\] 支持多队列。(PR3277/PR3278) \[Performance\] bg_queue 读写分离优化。(PR3352) **2.1.6 misc** \[Bugfix\] overlayfs:修复 ovl_parse_param() 内存泄露。(PR3115) \[Bugfix\] hugetlbfs:修复 hugetlbs_fill_super() 空指针解引用。(PR3126) \[Improvement\] block:rq_hang 使用 %px 打印请求。(PR3129/PR3135) \[Improvement\] cgroup writeback:限制仅在 cgwb_v1 场景使能 memcg_blkcg_tree 相关操作。(PR3142/PR3144/PR3147) \[Performance\] kernfs 全局锁竞争。(PR3132) \[Bugfix\] ceph:修复 encode_cap_msg() use-after-free 问题。(PR3152 \[Bugfix\] md:修复 rdev-\>serial 内存泄露。(PR3318) \[Bugfix\] ring_buffer:修复 ring_buffer_free_read_page() 中潜在的空指针解引用。(PR3308) #### **2.2 dsms** \[Bugfix\] 解决断电场景数据丢失问题。 \[Improvement\] 优化 ceph 内存分配器,解决内存碎片化后导致 IO 延迟升高的问题。 更多详细进展,请参见项目主页: *https://gitee.com/anolis/dsms* #### **2.3 mdadm \& ledmon** Intel VROC 为基于 NVMe 的企业级 RAID 解决方案,同时也支持对 SATA 类 RAID 的监控。该方案依赖 mdadm 和 ledmon 两个软件包,因此决策在龙蜥 OS 中独立选型并维护。 目前基线版本经确定,并在 SIG 中创建仓库: *[mdadm: Manager of Linux Software RAID implemented through Multiple Devices driver.](https://gitee.com/anolis/mdadm "mdadm: Manager of Linux Software RAID implemented through Multiple Devices driver.")* *[ledmon: Enclosure LED Utilities](https://gitee.com/anolis/ledmon "ledmon: Enclosure LED Utilities")* 后续由 Intel 的两位 Maintainer 负责将补丁合入 dev 分支,经过测试后合并到 main 分支,作为龙蜥 OS 的发布包来源。 ### ***03*** **开源会议** SIG 成员 gaoxiang 分享了 Container Plumber Days 和 OSSNA 的参会纪要: *https://openanolis.cn/sig/high-perf-storage/doc/1109666477415585831* **相关链接:** 高性能存储SIG主页: *[High Performance Storage SIG - OpenAnolis龙蜥操作系统开源社区](https://openanolis.cn/sig/high-perf-storage "High Performance Storage SIG - OpenAnolis龙蜥操作系统开源社区")* 注:更多龙蜥 SIG 月度动态可点击[这里](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg4MTMyMTUwMQ==&action=getalbum&album_id=2739816963685924866&scene=173&from_msgid=2247514437&from_itemidx=1&count=3&nolastread=1#wechat_redirect "这里")查看。 **高性能存储 SIG** **(Special Interest Group)** **:**致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。高性能存储 SIG 期望通过社区合作,打造标准的高性能存储技术软件栈,推动软硬件协同发展。 更多龙蜥SIG主页点击查看:*[SIG - OpenAnolis龙蜥操作系统开源社区](https://openanolis.cn/sig "SIG - OpenAnolis龙蜥操作系统开源社区")* ------ 完 ------

相关推荐
OpenAnolis小助手13 小时前
朗空量子与 Anolis OS 完成适配,龙蜥获得抗量子安全能力
安全·开源·操作系统·龙蜥社区·龙蜥生态
墨夏2 天前
跨平台开发下的策略模式
设计模式·操作系统
fakerth2 天前
OpenHarmony介绍
操作系统·openharmony
程序员老刘3 天前
操作系统“卡脖子”到底是个啥?
android·开源·操作系统
有信仰3 天前
操作系统——虚拟内存和物理内存
操作系统
望获linux8 天前
【实时Linux实战系列】实时数据流处理框架分析
linux·运维·前端·数据库·chrome·操作系统·wpf
unfetteredman9 天前
Mac查看端口使用信息
操作系统·mac
闪电麦坤959 天前
操作系统:RPC 中可能遇到的问题(Issues in RPC)
rpc·操作系统
闪电麦坤9510 天前
操作系统:远程过程调用( Remote Procedure Call,RPC)
rpc·操作系统
丐中丐99912 天前
Android系统中如何在Native层调用java实现的系统服务
android·操作系统