Cloud Kernel SIG 月度动态:发布 ANCK 3 个版本,5.10 kABI/kAPI 策略变更
Cloud Kernel SIG(Special Interest Group):支撑龙蜥内核版本的研发、发布和服务,提供生产可用的高性价比内核产品。
01 SIG 整体进展
1. 发布 ANCK 5.10-017 版本。
2. 发布 ANCK 4.19-028.1 小版本。
3. 发布 ANCK 4.19-028.2 小版本。
4. ANCK 5.10 kABI/kAPI 策略变更。
02 具体进展
2.1 发布 ANCK 5.10-017 版本
2.1.1 新特性
2.1.1.1 社区特性
-
支持动态内核抢占特性 回合上游社区的动态内核抢占特性,允许用户通过 cmdline 或 sysfs 来切换抢占模型:none 或 voluntary(full暂不支持)。
-
perf 功能增强 支持 CMN 和 DDR PMU 的 perf metric 功能。
-
bpf 新特性。
-
新增 bpf helper:
-
-
-
-
-
bpf_for_each_map_elem:遍历 bpf map 的 helper。
-
bpf_snprintf:字符串格式化 helper。
-
bpf_timer:定时器,可以在指定时间后触发回调函数。
-
bpf_loop:告别常量有限循环的限制,从此自由写循环。
-
bpf_strncmp:字符串比较的 helper。
-
bpf_ktime_get_tai_ns:获取 CLOCK_TAI 类型的时间。
-
bpf_skb_load_bytes: raw_tp 类型支持,可以在 raw_tp 类型程序中读取 skb 数据,包括非线性区数据。
-
- Arm64 架构支持 fentry/fexit/fmod_ret/bpf_lsm 等 trampoline 相关特性的 attach,从而提供更强的跟踪诊断/安全功能。
-
bpf_trampoline 支持与 livepatch 共存。
-
-
virtio-net 相关特性支持。
-
-
支持 virtio-net 设备统计:实现内核对设备统计数据的获取,提升故障定位和问题诊断能力。
-
引入队列重置功能:允许调整虚拟机队列尺寸并利用该功能减少数据包丢失,优化时延性能。
-
动态中断调节(netdim):支持根据实时流量智能调整中断聚合参数,优化数据接收性能。
-
优化 virtio checksum:修复 virtio 网卡验证 checksum 被特定 feature 控制的问题;使用 XDP 应用场景中无需 guest os 重新验证校验和,大幅节省 CPU 利用率。
-
-
erofs 按需加载模式支持 failover。
-
ext4 修复 O_DIRECT + O_SYNC 语义问题 该问题在 iomap 框架引入后就一直存在,其原因为 generic_write_sync() 是在 iomap 框架中调用,但 i_disksize 更新却是在 iomap_dio_rw() 之后。这将导致 append 写的场景文件落盘的长度没有及时更新,此时异常掉电将无法读取写入的数据。
-
xfs 支持 延迟 inode inactivation 特性 该特性将回收放到后台的 kworker 中执行,降低前台应用因删除带来的卡顿。
-
fuse 相关支持
-
-
支持 cache=none 模式下 shared mmap。
-
支持 strict limit 特性动态开关。fuse 模块会设置 strict limit,在特定场景下可能导致回写非常慢甚至卡住,引入该 sysfs knobs 可以动态解决这种问题。
-
-
优化 kernfs 全局锁竞争,降低因监控程序并发访问导致的 loadD 升高影响。