高性能存储 SIG 月度动态:多项内核特性移植到 6.6,erofs 完成共享特性 POC

简介: 高性能存储 SIG 月度动态送达,一键了解各项目当前进展。

高性能存储 SIG(Special Interest Group)致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。高性能存储 SIG 期望通过社区合作,打造标准的高性能存储技术软件栈,推动软硬件协同发展。

01 SIG 整体进展

本次月报综合了 SIG 在 3、4 两个月的工作进展。

  • 完成存储领域 5.10 内核上的特性移植到 6.6 内核,包含 cgroup v1 writeback 限流、jbd2 增强、IO hang 检测、block throttle 增强、fuse 增强、tcmu 增强等。
  • 5.10 内核支持 dax reflink 特性,并针对 redis 场景做了相应的优化。
  • erofs page cache 共享特性完成 POC,使用两个镜像测试节省内存约 20%,实际效果取决于镜像中文件共享的情况,理论上限能达到 100%。

02 项目具体进展

1)CVE

CVE-2024-23307:修复 raid5_cache_count() 整型溢出问题。(PR2882)

CVE-2022-38096:修复使用 vmw_context_cotable() 可能导致无效解引用问题。(PR3040)

CVE-2023-6546:修复 gsm_cleanup_mux() 竞争场景可能导致的 UAF。(PR3047)

2)erofs

[Feature] fscache 按需加载模式支持 failover。(PR2791)

[Feature] 同步社区主线 6.8 相关补丁至 6.6 内核。(PR2880)

[Feature] 4.19 内核支持压缩,lzma/deflate 压缩算法,ztailpacking,multi-reference pclusters,压缩去重,fsdax 等。(PR2896/PR2903/PR2907/PR2920/PR2941)

[BugFix] 修复 THP vma alignment 问题。(PR2971)

[BugFix] 修复 pmem fsdax 特性问题。(PR2988)

page cache 共享方案完成 POC,使用两个镜像测试节省内存约 20%,实际效果取决于镜像中文件共享的情况,理论上限能达到 100%。目前正在整理 patchset,计划下个窗口发到社区。

3)xfs

[Feature] 支持 dax reflink 特性,并针对 redis 场景优化源文件的连续性,以及脏页回写的效率。(PR2794)

[Feature] dax reflink 去除对 reverse map btree 的依赖,优化 page fault 时延。(PR3087)

4)ext4

[Feature] 移植 ext4 & jbd2 增强至 6.6 内核。(PR2795)

[BugFix] 回合 stable 分支的补丁。(PR2042)

5)io_uring

[Feature] 移植 io_uring percpu sqthread polling 等特性至 6.6 内核。(PR2822)

io_uring percpu sqthread polling 特性在 rebase 过后,由于当前 sqthread 不再是内核线程而是用户进程创建,业务测试发现仍然存在问题,待进一步解决。

6)fuse

[BugFix] 修复 cache=none 模式 mmap 问题。(PR3007)

[Feature] 支持显示禁用 export。(PR3008)

[Feature] 支持 flush 及 resend 请求。(PR3009)

[BugFix] 修复 VM_MAYSHARE 和 direct_io_allow_mmap 问题。(PR3051)

7)block

[Feature] 移植 io hang 检测至 6.6 内核。(PR2806)

[BugFix] 修复 cgroup v1 在没有配置规则时 IO 统计问题。(PR2835)

[Feature] 移植 block throttle 增强补丁至 6.6 内核。(PR2823)

[BugFix] 修复 cgroup v1 打开 CONFIG_CGROUPS 但不打开 CONFIG_CGROUP_WRITEBACK 的编译错误。(PR2875)

8)tcmu

[Feature] 移植 bypass tcmu data area 和 zero copy 特性至 6.6 内核。(PR2876)

[Feature] 移植 tcm_loop 支持 sg_tablesize 可配置补丁至 6.6 内核。(PR2879)

9)其他

[Performance] 调整 address_space 结构体布局,优化 unixbench/execl 性能。(PR2888)

[Feature] bcache 更新 writeback 速率时支持 fragmentation。该问题为社区伙伴 360 同学反馈,在特定场景会发生回写 hang 住。(PR3022)

[BugFix] nfs 修复容器内写大文件触发 oom 问题。(PR3015)

[BugFix] fat 修复 nostale filehandles 存在未初始化域问题。(PR3089)

[BugFix] nbd 修复 nla_nest_start() 空指针问题。(PR3094)

[BugFix] nfs 修复 root_nfs_cat() 差 1 问题。(PR3093)

10)dsms

继续调研 cache tiering 机制,并针对性进行性能测试。

针对遇到的磁盘故障导致业务异常,计划在 dsms 中增加磁盘健康检测功能。

更多详细进展,请参见项目主页:https://gitee.com/anolis/dsms


相关链接:

高性能存储 SIG 主页:https://openanolis.cn/sig/high-perf-storage

注:更多龙蜥 SIG 月度动态可点击这里查看。

—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;龙蜥加入钉钉群(钉钉群号:78885006080),高性能存储 SIG 钉钉群(钉钉群号:34264214)。

相关文章
|
1月前
|
存储 缓存 固态存储
存储性能软件加速库(SPDK)
存储性能软件加速库(SPDK)
|
传感器 5G UED
5G 标准化进程|带你读《5G空口特性与关键技术》之二
从 2016 年起,3GPP 启动了 R14 研究项,目标是在 2020 年实现 5G 的商业化部署。为此,3GPP 采取了按阶段定义规范的方式。第一阶段目标是R15,旨在完成规范 5G 的有限功能。第二阶段是 R16,旨在完成规范 IMT-2020 所定义的所有功能,将于 2019 年年底到 2020 年完成。
5G 标准化进程|带你读《5G空口特性与关键技术》之二
5G 物理资源 |带你读《5G空口特性与关键技术》之八
基站信道带宽是指基站侧上下行所支持的单个 NR 射频载波。同一频段下,支持不同的 UE 信道带宽。在基站信道带宽范围内,UE 信道带宽可以灵活配置。UE 的 BWP 的信号等于或者小于 RF 载波的载波资源块数时,基站就能够在任何载波资源块上收发 UE 的 1 个或者多个 BWP 的信号。
5G 物理资源  |带你读《5G空口特性与关键技术》之八
|
6天前
|
传感器 物联网 数据中心
探索ARM架构及其核心系列应用和优势
ARM架构因其高效、低功耗和灵活的设计,已成为现代电子设备的核心处理器选择。Cortex-A、Cortex-R和Cortex-M系列分别针对高性能计算、实时系统和低功耗嵌入式应用,满足了不同领域的需求。无论是智能手机、嵌入式控制系统,还是物联网设备,ARM架构都以其卓越的性能和灵活性在全球市场中占据了重要地位。
14 1
|
7月前
|
存储 缓存 算法
解密Linux中的通用块层:加速存储系统,提升系统性能
本文探讨了Linux操作系统中的通用块层和存储系统I/O软件分层的优化策略。通用块层作为文件系统和磁盘驱动之间的接口,通过排队和调度I/O请求,提高磁盘的读写效率和可靠性。存储系统的I/O软件分层包括文件系统层、通用块层和设备层,它们相互协作,实现对存储系统的高效管理和操作。本文旨在深入了解通用块层和其他I/O软件层的功能和作用,分析优化存储系统的管理和操作,提升系统性能和可靠性。
解密Linux中的通用块层:加速存储系统,提升系统性能
|
9月前
|
算法 安全 Linux
高性能网络 SIG 月度动态:推动 virtio 支持动态中断调节及更灵活的分流机制
高性能网络 SIG 月度动态送达,一键了解 8 月各项目进展。