将主要版本数量增加到 5 个并不意味着任何重大更改或兼容性故障。 它只是帮助我们亲爱的莱纳斯·托瓦兹 (Linus Torvalds) 保持内心的平静。 以下是一些变化和创新的列表。
核心核心:
- ARM 等非对称处理器上的 CFS 进程调度程序的工作方式有所不同 - 它首先加载低功耗且节能的内核。
- 通过 fanotify 文件事件跟踪 API,您可以在打开文件执行时收到通知。
- 集成了 cpuset 控制器,可用于根据 CPU 和 NUMA 节点的使用情况来限制进程组。
- 支持以下 ARM 设备:Qualcomm QCS404、Allwinner T3、NXP/Freescale i.MX7ULP、NXP LS1028A、i.MX8、RDA Micro RDA8810PL、Rockchip Gru Scarlet、Allwinner Emlid Neutis N5 等。
- ARM子系统的改进:内存热插拔、Meltdown和Spectre保护、52位内存寻址等。
- 支持 x86-64 的 WBNOINVD 指令。
内存子系统:
- ARM64 平台上的 KASAN 工具可进行低内存消耗的测试标签替换。
- 内存碎片已显着减少(高达 90%),从而使透明大页机制工作得更好。
- mremap(2) 在大内存区域上的性能提高了多达 20 倍。
- KSM机制中,jhash2被xxhash替代,因此KSM在64位系统上的速度提升了5倍。
- ZRam 和 OOM 的改进。
块设备和文件系统:
- 具有多级请求队列系统的 blk-mq 机制已成为块设备的主要机制。 所有非 mq 代码已被删除。
- 改进了 NVMe 支持,特别是在网络上的设备操作方面。
- 对于 Btrfs,实现了对交换文件的完全支持,并且无需重写元数据即可更改 FSID。
- F2FS 中添加了 ioctl 调用,用于通过 fsck 延迟检查 FS。
- 集成 BinderFS - 用于进程间通信的伪 FS。 允许您在同一环境中运行多个 Android 实例。
- CIFS的多项改进:DFS缓存、扩展属性、smb3.1.1协议。
- ZRam 可以更好地与未使用的交换设备配合使用,从而节省内存。
安全和虚拟化:
- 添加了由俄罗斯联邦 FSB 开发的 Streebog 哈希函数 (GOST 34.11-2012)。
- 支持 Google 为低功耗设备开发的 Adiantum 加密算法。
- 包括 XChaCha12、XChaCha20 和 NHPoly1305 算法。
- seccomp 调用的处理现在可以移至用户空间。
- 对于 KVM 来宾系统,实现对 Intel 处理器跟踪扩展的支持,同时将性能下降降至最低。
- KVM/Hyper-V 子系统的改进。
- virtio-gpu 驱动程序现在支持虚拟显示器的 EDID 模拟。
- virtio_blk 驱动程序实现了丢弃调用。
- 基于 Intel DSM 1.8 规范实现了 NV 内存的安全功能。
设备驱动程序:
- 对 DRM API 进行更改,以完全支持自适应同步(DisplayPort 标准的一部分)和可变刷新率(HDMI 标准的一部分)。
- 包含显示流压缩标准,用于对发送到高分辨率屏幕的视频流进行无损压缩。
- AMDGPU 驱动程序现在支持 CI、VI、SOC2 的 FreeSync 15 HDR 和 GPU 重置。
- 英特尔视频驱动程序现在支持 Amber Lake 芯片、YCBCR 4:2:0 和 YCBCR 4:4:4 格式。
- Nouveau 驱动程序支持 Turing TU104/TU106 系列显卡的视频模式。
- 适用于 Raspberry Pi 触摸屏、CDTech 面板、Banana Pi、DLC1010GIG 等的集成驱动程序。
- HDA 驱动程序支持“jack”按钮、LED 指示灯、Tegra186 和 Tegra194 设备。
- 输入子系统已学会在某些 Microsoft 和 Logitech 鼠标上进行高精度滚动。
- 网络摄像头、电视调谐器、USB、IIO 等的驱动程序发生了很多变化。
网络子系统:
- UDP 堆栈支持零复制机制,用于通过套接字传输数据,无需中间缓冲。
- 那里还添加了通用接收卸载机制。
- 改进了存在大量 xfrm 策略时的搜索性能。
- VLAN 驱动程序中添加了卸载隧道的功能。
- 对 Infiniband 和无线网络的支持进行了多项改进。
来源: linux.org.ru