
Cloud Kernel SIG 季度动态:发布ANCK 6.6-003版本,支持一测多证
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
发布链接:
- Anolis OS 23:
https://mirrors.openanolis.cn/anolis/23/os/
调度
- 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:
- 云脉芯联网卡 OOT 驱动 xscale:
海思网卡 OOT 驱动 hns3、hinic:
- https://gitee.com/anolis/kmod-hns3
网迅网卡 OOT 驱动 txgbe、ngbe:
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:
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 月度动态可点击这里查看。
—— 完 ——
