Cloud Kernel SIG 季度动态:发布ANCK 6.6-003版本,支持一测多证

龙蜥社区OpenAnolis
发布于 2025-4-9 14:33
浏览
0收藏

Cloud Kernel SIG(Special Interest Group):支撑龙蜥内核版本的研发、发布和服务,提供生产可用的高性价比内核产品。

01 SIG 整体进展

  • 发布 ANCK 6.6-003 版本。
  • 一测多证流程建立。
  • OOT 驱动基线更新。
  • 海光平台适配进展更新。
  • Virtio-blk驱动支持 io_uring passthrough 特性。

02 ANCK 6.6-003 版本更新

发布时间: 2025-03-28

发布链接:

调度

  • EEVDF 特性补完,支持 task 和 cgroup 自定义 slice。

内存

  • 支持页表页绑核分配,避免页表页跨 NUMA 访问。
  • 支持 OOT 内存隔离特性。
  • 回合社区 THP undersued split 特性,避免 THP 造成的 memory bloat。
  • 支持代码段锁定特性,避免代码段 pagecache 引起的回收颠簸。
  • 回合社区 tmpfs 支持 large folio 的特性。
  • 增强 memcg 统计。
  • 支持 memcg 级别的 min wartermark 设置的特性,混布场景中避免离线对在线的影响。
  • 回合 pagefault 错误处理的优化补丁集,提升 pagefault 性能。
  • 支持 pagecache 分配的 mTHP 控制。
  • 支持 pagecache 预留和 pagecache 限制特性,适用不同场景对 pagecache 的管理。
  • 支持 memcg 异步回收特性,混布场景中避免离线对在线的影响。
  • 回合社区 mTHP 统计相关补丁集。
  • 支持 memcg OOM 优先级的特性,混布场景优先杀死离线业务。
  • 支持僵尸 memcg 后台回收特性,避免僵尸 memcg 积累对系统造成抖动。
  • 回合社区文件页 shmem 的 mTHP collapse 特性。
  • 回合社区 shmem 支持 large folio 的 swap-out 和 swap-in,避免 large folio 被 split。
  • 回合匿名页支持 large folio swap-in 特性,避免 large folio 被 split。
  • 回合社区 shmem 支持 mTHP 特性。
  • 回合匿名 mTHP 统计相关补丁。
  • 回合支持匿名页 mTHP 的 swap-out,避免被 split。
  • 回合 numa balancing 支持 mTHP 提升 numa balancing 性能。
  • 回合 compaction 支持 mTHP 特性。
  • 回合匿名页支持 mTHP 的分配。
  • 回合 unamp/zap 流程对 mTHP 的 batch 优化。
  • 回合 fork 对 mTHP 的 batch 优化。
  • 回合 rmap 的清理和优化补丁集,更好的支持 mTHP。
  • 回合匿名页 mTHP 透明支持 Arm 的 cont-pte 特性,更好的优化 TLB miss。
  • 回合 mlock 支持 mTHP 特性。
  • 内存领域若干稳定性问题解决。
  • 修复 hwpoison 隔离 UCE 失败回退问题。

网络

  • virtio-net:对于 control queue 队列增加 timeout 限制控制消息等待时间防止导致整体卡死。
  • udp:优化了有连接 udp 的接收方哈希查找性能。
  • 网络相关 bpf 改动:
  • tp_btf 添加 skb dynptr 支持。
  • BPF_SOCK_OPS_RTT_CB 提供 mrtt 和 srtt 信息。
  • selftests:修复 udpgro 相关 selftest 问题。

BPF

  • 支持内核模块注册 struct_ops。
  • 支持 task、task_vma、task_css、css 的 open-code 迭代器。

存储

  • 公共
  • cgroup writeback 在使能 cgroup v2 场景无需执行 memcg_blkcg_tree 相关操作,优化无效的开销。
  • 支持 uncached buffer IO,该特性在大压力下显著提升 buffer IO 性能。
  • fuse/virtio-fs
  • fuse 修复 FUSE_NOTIFY_RESEND 通知类型的问题。

  • fuse writeback 代码重构和优化。

  • fuse 社区主线 bugfix 同步。

  • fuse 支持 folio。

  • virtio-fs 支持多队列。

  • virtio-fs 代码清理,并修复一些稳定性问题。

  • virtio-fs 增加 tag 和 queue map sysfs 接口。

  • xfs

  • 支持 dax reflink 特性。

  • erofs

  • 社区主线特性和 bugfix 同步。

  • ext4

  • 社区主线 bugfix 同步。

Arm 平台

  • 回合 Arm Coresight PMU 驱动。
  • 回合 Arm SPE 中 data source 拓展 Neoverse V2。
  • 回合 SMMU SVA 补丁。
  • 修复 ARM KVM 模块化后 VMID 被复用导致使用脏 TLB 问题。
  • 支持同步 UCE 错误在 task work 中同步处理。
  • 支持 mpam 开关控制。

龙芯平台

  • 新增特性:
  • 增加龙芯平台 SE 模块 ACPI 驱动支持。
  • 增加龙芯虚拟机 AVEC 中断支持。
  • 重要 Bugfix:
  • 修复 lscpu 显示结果中 cache 信息错误问题。

  • 修复 intel 网卡驱动加载报非对齐访问错误问题。

  • 修复 rtc 中断重复触发问题。

  • 修复在 cgroup v2 中无法对 cpu 进行控制问题。

  • 修复 docker stats 中 cpu 占用率显示为 0 的问题。

  • 修复服务器单节点启动时启动失败问题。

  • 修复重启压力测试中,虚拟机挂死问题。

  • 修复物理机睡眠唤醒虚拟机挂死。

  • 修复虚拟机启动后物理机日志信息报错问题。

  • 修复物理机启动后系统日志报错问题。

驱动

  • 回合一些 PCIe、ACPI 以及 SMMUv3 的 Bugfix 补丁,增强稳定性。
  • coresight:
  • 支持使用 per-sink trace ID 映射 perf session。
  • 拆分 sysfs 和 perf usage。
  • trbe:支持 ACPI 的设备加载。
  • cxl:
  • 修复一些 bug,并且增加一些 trace event。

  • 支持 RCH RAS 特性。

  • erdma:支持 smc。

  • vfio:回合一些上游的补丁,增强一些 PCI 特性的支持。

  • virtio:修复一些 bug。

Perf

  • 回合 dwc_pcie_pmu 修复补丁。

03 一测多证

一测多证,旨在认证龙蜥衍生版 OS 与 Anolis OS 的硬件兼容性互通性。通过该认证的衍生版 OS,其 Ancert 测试结果可直接录入龙蜥硬件兼容性列表。目前,一测多证流程社区流程已经建立,浪潮 KOS 5.8 SP2 已作为标杆案例成功完成认证。

更多信息请移步该链接:

​https://openanolis.cn/sig/Cloud-Kernel/doc/1320117912455741462​

04 OOT 驱动基线更新

OOT 驱动基线新增以下驱动:

  • 联动天翼存储 OOT 驱动 sxe、ps3stor:

05 海光平台适配进展

  • 修复海光 family 18h model 4h-10h 的各种问题:
  • 增加 model 10h 的 EDAC,IOAPIC 支持:
  • 5.10 见 PR#4750

  • 6.6 见 PR#4761

  • 增加 model 7h-8h EDAC,NB 支持:

  • 5.10 见 PR#4751

  • 6.6 见 PR#4766

  • 为海光 GPIO controller 添加 device HID 支持:

  • 5.10 见 PR#4741

  • 6.6 见 PR#4758

  • 开启海光大内存拷贝优化 kconfig:

  • 5.10 见 PR#4754

  • 6.6 见 PR#4769

  • 优化 vTKM 性能 & TDM 检测失败的 bugfix:

  • 5.10 见 PR#4870#4871

  • 6.6 见 PR#4838#4842

  • DF PMU 适配 Hygon 8h 平台:

  • 5.10 见 PR#4930

  • 6.6 见 PR#4929

06 virtio-blk 支持 io_uring passthrough 特性

Virtio-blk 驱动中引入 io_uring passthrough 特性。

基于i o_uring passthrough 的 Virtio-blk 直通方案,可通过绕过通用块层,减小 I/O 路径上内核栈开销。并且通过新增的双向命令,在后端支持解析的情况下,可以减少 I/O 交互次数,提高带宽利用率。

具体如下:

1) 该特性通过给 Virtio-blk 添加一个通用字符接口,并为 Virtio-blk 驱动支持 io_uring 的 uring_cmd 特性,允许用户态进程借助 io_uring 框架,在 bypass 通用块层的情况下,直接向 Virtio-blk 驱动发送 WRITE、READ 类命令。

2)支持在 Virtio-blk passthrough 通道内单条命令包含“读写双向I/O”,即单条I/O命令中既包含写缓冲区,又包含读缓冲区。

更多信息请参考该链接:

​https://gitee.com/anolis/cloud-kernel/pulls/4272​

相关链接:

Cloud Kernel SIG 主页:

​https://openanolis.cn/sig/Cloud-Kernel​

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

—— 完 ——

收藏
回复
举报
回复
    相关推荐