一、Linux 7.1
前面刚刚分析了7.0,这没几天7.1又出来了,它可以看作是Linux7.0功能版本的迭代更新。可见随着AI的应用普及,内核版本的迭代也不得不快速的迭代保持跟进。这次更新,在桌面支持、大模型应用以及服务器支持等各个领域都进行了较大的更新。
二、主要更新
虽然看上去是一个小版本的更新,但功能的更新其实非常强大。主要包括:
- 旧代码、架构和平台的删除
删除了大量的老旧代码,特别是对"上古"时期的一些硬件驱动(如老的以太网卡驱动ATM/ISDN等)、协议栈等全部进行了删除。删除代码后一个直观的感受就是内核代码量的缩小导致的编译时间的加快。特别是对486 CPU的支持。不过估计小年轻都不知道这个CPU。也可以理解为,老的硬件就用老的版本,各种风险自己扛。 - NTFS驱动的重写
由exFAT在开发大佬亲自操刀,重写NTFS驱动,对Windows NTFS文件系统的支持从需要挂载第三方工具ntfs-3g改为内核原生支持读写,对固态硬盘的读写速率有了大幅的提高(实验测试提高三分之一以上)。尤其是大硬盘和多线程支持更是有了显著的提高。可以更好的兼容Windows操作系统的分区和管理。从而使得不同平台的移动读写支持得到了质的改善。 - 优化文件系统
对Btrfs关机稳定性(支持桌面系统、虚拟化和容器以及NAS),这就使得Btrfs可以正式进入生产环境包括但不限于数据备份、NAS存储和视频工作站等。exFAT的处理新增了文件预分配功能,对视频和大文件的读写操作非常友好,减少了空间碎片。Swap换页逻辑进行重构解决服务器中长期运行导致的内存药学专业技术人员和换页卡顿等都进行了更新。 - 针对硬件平台的升级
对主流的Intel、AMD和ARM的CPU调度和内存管理进行了升级。Intel平台上默认支持intel FRED中断,对新一代酷睿处理器的系统切换和中断处理效率大幅提高。使其在并行编程和支持AI大模型推理上更有优势。同时支持了第二代的Arc独显。
AMD则适配了Zen6架构,对电源驱动amd-pstate更新了动态节能调节、电池均衡模式及笔记本插电拉满性能等。使得在不同工况下对电源功耗的管理更智能化。同时适配了新一代的APU的相关硬件处理。
针对ARM服务器,则对pKVM进行了内存硬件级隔离和多用户数据隔离(防止云主机用户可以互相看到数据),扩展了sched_ext调度,对AI的训练和应用提供了独立的自力组,隔离线上和线下型业务的资源抢占。
对于国产的龙芯也进行了架构的增强改进,稳定性得到了显著的提升,并且增强了KVM虚拟机使得其对LoongArch虚拟化支持的更加完善。另外,其它一些国产架构如飞腾等也在持续的跟进中。
内存管理中统一了folio的页管理并增加了DAMON冷热内存自动识别,增强了数据库和缓存服务器中的内存利用率,降低了长时间运行OOM的风险,对AI大模型的应用也非常友好。
在7.1中,对io_uring和BPF(这俩个在前面都作过系列的分析,不清楚的可以查看)进行了高效的工程整合,提高了网关、分布式存储的效率。
引入了网络驱动的QAT硬件压缩加速,卸载CPU相关算力,大幅提高了整体的效率。另外还修复了一些音频驱动的Bug(Steam Deck OLED),提高了对主流显卡(NVIDIA/AMD/INTEL)的显卡驱动的渲染能力,增强了外设(如USB摄像头的热插拔)的稳定性 - 安全升级
针对日渐复杂的网络安全场景,Linux7.1加强了对FRED内核调度权限的管理,收紧了切换路径及提权有可能导致的风险;提升了对容器沙箱的管控,加强了seccomp的过滤规则扩展;删除了老旧的不安全协议 - 工具的支持升级
Linux7.1对调试工具如pstroe和ftrace等进行了一些人修复,提高了安全性和稳定性
三、对AI和大模型的支持
其实通过上面的分析,已经可以总结出Linux7.1对AI的支持:
- 硬件加速
不断强化对Intel、AMD和ARM等硬件及专用芯片的支持。如NPU、APU等,引入了更多的新处理器的功能如FRED中断优化等。提升了对专门芯片的支持和优化如GPU中的Arc系列显卡的支持 - 性能优化
针对大模型进行了推理和调度及上下文切换的优化,在提高CPU推理的性能时,提高了CPU和GPU交互的效率 - 生态完善
提供了更丰富的AI相关的工具和协议栈,为各个厂商有相关的上层应用提供了底层的支持
四、总结
不过需要说明的是,这个版本的发布功能虽然改动不小,但社区声明说Linux7.2会很快发布(即6月12日说是两周后,估计大约在月底),而且它也不是LTS的稳定维护版本,所以大家可有针对性的看看,不必急于升级。