Linus Torvalds宣布Linux内核6.7首个候选版本
最终版本预计于12月31日(新年前夜)或1月7日发布,具体取决于截至那时宣布了多少个RC版本。
Linux内核的发展继续进行,预计在年底发布下一个主要内核版本6.7,而Linus Torvalds刚刚宣布了首个公开测试的发布候选(RC)里程碑。
“这是我们迄今为止经历过的最大合并窗口,有15.4k个非合并提交 - Linus Torvalds”
Linux内核6.7最大的变化是实现了bcachefs文件系统,这是一个面向Linux操作系统的写时拷贝(COW)文件系统,旨在与Btrfs和ZFS文件系统提供的现代功能竞争,同时具有EXT4和XFS文件系统的速度和性能。
Linux内核6.7还承诺在Nouveau开源图形驱动程序中支持NVIDIA的GSP固件,该固件仅在不支持GSP(GPU系统处理器)的硬件上使用,而在已支持的硬件上则是可选的。
在Linux 6.7中有许多网络更新,如在UDP中支持IPsec ESP的GRO解包,通过路由属性有选择地启用TCP时间戳的usec分辨率的支持,将TCP身份验证选项(RFC 5925,TCP-AO)作为MD5选项的更现代替代支持,支持通过vsock套接字发送分段的skb以及MCTP在I3C上的支持。
此外,Linux 6.7还支持netlink GET以用于MDB(多播转发),以允许用户空间请求单个MDB条目而不是转储整个表,通过在处理套接字积压时推迟常规TCP ACK,提高200Gbit NIC上单个TCP流性能20%,以及在MPTCP套接字上支持rcvlowat和notsent_lowat以帮助应用程序限制唤醒次数。
公平队列(FQ)数据包调度器获得了内建的3-band优先级和WRR调度、绕过支持以及更好的非活动流报告。为ARM32和s390x平台添加了BPF v4 CPU指令支持,并具有将BPF定时器钉到当前CPU的能力以及UNIX套接字的扩展cgroup BPF sockaddr钩子。
网络添加继续,包括支持本地每CPU kptr以允许在映射中分配和存储每CPU对象,支持使用不同过滤器的多个PTP时间戳事件队列读取器,支持在VXLAN隧道驱动程序中选择性FDB刷新以及允许在桥接中限制已学习的FDB条目以防止OOM攻击。
在Linux 6.7中,Btrfs文件系统有各种新功能,如raid-stripe-tree,用于逻辑文件范围映射的新树,其中物理映射可能在多个设备上不匹配,简单的配额账户(squota)和临时文件系统fsid(temp_fsid)。
Btrfs文件系统还通过减少用于校验和删除的保留以减少具有许多范围的文件的删除时间12%,以及通过在插入期间使范围状态合并更有效来减少关键功能的运行时间5%而获得性能改进。
EXT4文件系统改进了其多块分配器,并通过其提交机制对释放的数据块进行优化,以避免在s_md_lock自旋锁上可能的锁争用。此外,EXT4的备份超级块已经改进,以在在线调整大小或更新标签或UUID后更好地更新。
exFAT文件系统支持通过ioctls支持获取和设置在fatattr util中使用的文件属性,以及用于在创建目录时分配簇的新zero_size_dir
挂载选项。另一方面,F2FS文件系统通过将内部块大小对齐到页面大小并改进关于断电恢复的分区块设备支持。
Linux内核6.7还为Landlock(TCP绑定和连接访问控制)添加了初始网络支持,支持HDA补丁,用于支持新硬件类型和设备的Thunderbolt/USB4修复,使所有媒体驱动程序都使用VB2 kAPI而不是已删除的V4L2核心videobuf kAPI,将autofs移植到新的挂载API,更新了CephFS日志记录,并为Intel的CAT实现添加了非连续容量位掩码的支持。
Linux 6.7使LoongArch成为KVM(基于内核的虚拟机)的支持架构,并为PREEMPT_DYNAMIC与静态密钥以及对LoongArch架构的BPF CPU v4指令的支持添加了支持。对于ARM平台,KVM现在具有用于内存操作指令的客户支持。此外,KVM增加了对Smstateen和Zicond扩展的支持,以及senvcfg虚拟化。
Rust支持已升级到Rust 1.73.0,如果在C中启用了IBT,则现在默认启用。ARM64支持通过新的HWCAP定义和对Ampere SoC PMUs的支持进行了扩展,而ARM平台则支持来自AMD/Pensando的数据处理单元以及来自Sophgo的新的基于RISC-V的高端设备。
AppArmor对于调解io_uring和userns创建获得了初始支持,一种新的限制加强了change_profile的使用,以及一些优化以减少在检索当前任务的secid和分配工作缓冲区时发现的性能瓶颈。
对于RISC-V体系结构,Linux内核6.7为用户空间添加了对cbo.zero的支持,在基于ACPI的系统上支持CBOs,支持软件影子调用堆栈,支持S模式中的不对齐访问处理,支持模块加载器中的许多新的重定位,以及T-Head缓存刷新操作的改进。此外,在KVM上为RISC-V提供了虚拟化的SBI调试控制台(DBCN)。
Linux 6.7中的密码支持获得了基于虚拟地址的新的lskcipher接口,为PPC的6路展开提高了AES/XTS性能,在PKCS1Pad中支持FIPS 202 SHA-3,以及在Adiantum磁盘加密和解密算法中单页消息的快速路径。
如同对任何新的Linux内核分支的期望一样,硬件支持得到了提升。Linux 6.7承诺支持具有es83xx、AMD ACP 6.3和7.0、Awinc AT87390和AW88399声音芯片的AMD平台,以及许多Intel和MediaTek平台的声音支持,Qualcomm SM6115和SC7180平台,Richtek RTQ9128和Texas Instruments TAS575x声音芯片,以及Qualcomm SDM670(MDSS)和SM7150 SoCs。
对于AMD IOMMU,SVA支持已经添加,Watchdog现在支持Amlogic C3和S4 SoCs,初始支持Intel Lunar Lake也在那里,而Intel Meteor Lake支持已经升级到稳定,AMD还添加了一些即将推出的硬件平台,包括GC 11.5、DCN 3.5、VPE 6.1、NBIO 7.11和DML2。
Linux 6.7中的硬件支持还带来了更多USB Type-C新驱动程序的添加、XHCI扩展的跟踪支持、USB“La Jolla Cove Adapter(LJCA)”的支持、新USB dwc3平台的支持、HP Omen机器的DMI特例、Lenovo cptkbd的固件检测改进以及在Lenovo Thinkpad设备上通过透传读取辅助MAC地址的支持,以及ThinkPad Compact键盘的挂起/恢复修复。
最后但并非最不重要的是,为Xilinx的Versal集成内存控制器添加了新的EDAC驱动程序,为Monolithic Power(MPS)MP3309C升压变换器添加了新的设备树绑定,“厂商”背光怪癖用于3台Lenovo x86 Android平板电脑,HP 250 G7 Notebook PC的EC GPE检测怪癖,以及用于TongFang GMxXGxx/TUXEDO Stellaris/Polaris Gen5笔记本电脑的ACPI IRQ覆盖。