写点什么

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

  • 2025-04-09
    陕西
  • 本文字数:2927 字

    阅读完需:约 10 分钟

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 驱动基线新增以下驱动:

05 海光平台适配进展

  • 修复海光 family 18h model 4h-10h 的各种问题:

    5.10 见 PR#4743#4745#4748#4749#4752#4753

    6.6 见 PR#4760#4762#4763#4764#4767

  • 增加 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 月度动态可点击这里查看。

—— 完 ——

发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2021-07-20 加入

OpenAnolis龙蜥社区 由国内外头部企业联合建立的操作系统开源社区。加入我们,一起打造面向未来的开源操作系统。 社区官网:openanolis.cn|微信公众号:OpenAnolis龙蜥

评论

发布
暂无评论
Cloud Kernel SIG 季度动态:发布ANCK 6.6-003版本,支持一测多证_操作系统_OpenAnolis小助手_InfoQ写作社区