8月初,Linus Torvalds展示了Linux内核的新版本。按照长期的惯例,最大的开源项目本身的发布通常是按惯例进行的,创建者向商店的同事写了一封电子邮件,其中简要介绍了内核的新稳定版本。
5.8内核的一个功能是记录了整个项目存在的变更数量。Linux 4.9内核只有一个主要版本,但是由于新的greybus子系统而人为膨胀,而5.8确实在许多不同方向上进行了更多更改。让我们看看在Linux 5.8和5.8.1中什么是非常有用和有趣的,主要针对普通用户和工作站。
64 MiB补丁包含1991年开发人员的工作,其中包括304个新开发人员。社区的努力增加了904K,删除了553K行代码。如果看一下公司,最活跃的公司就是熟悉的名字。
- 英特尔;
- 华为技术;
- Habana Labs;
- 红帽;
- 谷歌;
- Linaro;
- IBM;
- AMD;
- Mellanox;
- SUSE;
图形
Linux内核代码库的大部分份额被驱动程序占据,因此,大部分更改和发行版更新都专用于它们并不奇怪。
Adreno 405/640/650 GPU驱动程序支持
多亏了MSM(Freedreno)开放驱动程序更新,增加了对Qualcomm Adreno 405、640和650 GPU的支持,这些移动GPU可以在一些最新的SoC(片上系统)上看到,例如Snapdragon 855+和Snapdragon 865。可以在智能手机Samsung Galaxy S10 / S20,OnePlus和许多其他小工具中找到。
同时,在开放API OpenGL和Vulkan的框架内,分别使用Freedreno Gallium3D和TURNIP继续开发Adreno驱动程序。新的更改将包含在Mesa 20.2开发版中。
对amdgpu驱动程序的许多改进
AMD竭尽全力提高Linux 5.8中图形驱动程序的质量。随着性能的提高,已经实现了使用加密视频内存缓冲区(受信任的内存区域)的功能。
AMD Radeon可信内存区旨在保护选定的页面不被CPU和其他非GPU客户端读取,并防止写入受TMZ保护的页面。
此外,FP16像素格式支持已添加到驱动程序中,并且已完成大量工作以提供设备之间的对等DMA缓冲区共享(p2p DMA-BUF),而不支持系统内存页。
文件系统
即将更新的有争议的Btrfs,FAT,exFAT等。
杂项Btrfs增强
OpenSUSE和SUSE Linux是使用Btrfs作为其主要文件系统的少数几个软件之一。毫不奇怪,SUSE已为此文件系统发布了许多补丁程序。结果,Btrfs改进了I / O读取处理。
- 直接I / O代码已移植到iomap接口;
- 现在,当由于空间不足而无法删除嵌套卷时,文件系统不会进入只读模式;
- 消除各种缺陷并清除代码。
在F2FS中使用LZO-RLE算法进行压缩
LZO-RLE压缩格式是新Linux内核中对Flash Friendly File System的一个值得注意的新增功能。LZO行程编码的目标压缩率与标准LZO算法相同,但性能更高。去年ARM将LZO-RLE实现推入内核后,这才成为可能。
支持exFAT引导区验证
三星为Linux 5.8内核引入了exFAT改进,新的驱动程序版本包括许多修复和优化。特别是,清除了代码,改进了日志记录,并优化了记录缓存功能。此外,该公司的工程师还添加了一项新功能-检查引导区中的exFAT。
改善I / O性能SMB v3 / CIFS
定义了一个新的参数nodelete,客户端可以使用该参数来在服务器上进行常规检查,但是禁止删除文件和文件夹。SMB v3修补程序包括使用多通道时对大型I / O的重大性能改进,以及DFS修复程序。
改进了在FAT中急切加载元素的能力
先前版本中的FAT记录的预读非常简单,但是存在一些缺点,使其在某些环境中效率低下。
得益于将预读窗口更新为完全耗尽的机制以及可自定义的bdi-> ra_pages,我们实现了显着的性能改进。测试是在2TB慢速USB驱动器上进行的,结果是测试时间从383秒减少到51秒。
DAX对Ext4和XFS的支持
DAX或直接访问旨在绕过页面缓存直接访问文件系统。在DAX模式下绕过页面缓存意味着消除了对存储设备的额外读/写副本。这进而允许将存储设备直接更有效地映射到用户空间。
英特尔提供的这些DAX代码增强功能允许为每个inode启用直接访问模式,而不仅仅是为整个文件系统启用或禁用。另外,使用statx()系统调用,您可以查询从用户空间直接访问特定文件的状态。
网络子系统
考虑到体系结构的巨大复杂性以及在各种设备中使用的巨大可能性,Linux内核的TCP / IP堆栈在总体上占有特殊的位置。网络基础设施比其他设施更能确保Linux OS在服务器上的主导地位,并且会不断发展。
- Netfilter,nftables模块为流表提供动态设备更新;
- * MRP,增加了对媒体冗余协议-IEC 62439-2网络标准的支持。该协议允许通过将多个以太网交换机组合成一个环来提供网络故障的恢复能力,同时比STP更快。
- 蓝牙,用于Realtek RTL8761B,Intel Typhoon Peak和Qualcomm QCA6390的新驱动程序;
- lx5/mlx5e, Mellanox , 10, 40 100 . mlx5 mlx5e TLS, IPsec, MPLS ;
- rnbd, RNBD RDMA RTRS. , - .
Wi-Fi
- ath10k - VHT160 VHT80+80. Qualcomm Atheros IEEE 802.11ac Wifi 5(802.11ac).
- iwlwifi驱动程序现在为新的Intel芯片支持ACPI DSM(特定于设备的方法)。
ipv6更新
- ipv6堆栈现在具有MPLS支持;
- 为通过UDP和TCP传输的ESP添加了IPv6封装;
- 已实现RFC 6069支持,该标准描述了TCP长连接中断算法,该算法提供了使TCP传输对长期通信失败更具弹性的功能。
安全
这包括与Intel安全漏洞有关的修复程序,例如Spectre,SELinux,使用执行和写入位阻止内核模块,随机数生成器等。
幽灵修复
显然,英特尔不会在不久的将来超额完成其计划以解决其芯片集中Spectre漏洞的所有后果。
我们正在讨论几个针对Linux内核的紧急修复程序,以处理x86 / x86_64指令的推测执行。发生这种情况的原因是Google的一位安全工程师发现了该漏洞,并且以前的一个修复程序(副作用)影响了AMD处理器。
间接分支预测屏障(IBPB)-在Spectre的第二个变体中,针对目标分支缓冲区的攻击的防护将在Linux中被强制禁用。条件是STIBP不可用或间接受限分支推测(IBRS)可用的情况。
芯片和芯片组
Linux 5.8中针对ARM体系结构进行了许多更改。
对Power 10处理器的初始启动支持
Power 10是IBM和OpenPOWER基金会即将推出的处理器,预计将于2021年开始销售,并将使用7纳米工艺制造。根据初步数据,新芯片对现有Power 9微体系结构进行了重大改进,
除了对Power 10体系结构的基本引导支持之外,Linux 5.8内核还支持Power 10前缀指令集。
支持新的ARM SoC
为了适应Android的Linux内核子系统的发展,已将以下内容添加到受支持的设备列表中:
- Realtek RTD1195作为Arm Cortex A7解决方案;
- 瑞昱RTD1395;
- 瑞昱RTD1619;
- 瑞萨RZ / G1H平台;
- 预算64位Rockchips RK 3326 SoC以及Odroid-GO Advance游戏机;
- 基于AMLogic S905D的Smartlabs SML-5442TW电视盒;
- 基于AMLogic S905X3的ODROID-C4;
- 基于AMLogic S922XH的电视盒Beelink GT-King Pro;
- 在Facebook x86 Yosemite V2和YADRO OpenPower P9 Nicole上基于Aspeed ast 2500的底板管理Contrioller ;
- Olimex A20-OLinuXino-LIME-eMMC SBC;
- Check Point L-50路由器;
- 基于联发科技MT8173的Elm / Hana Chromebook;
- 基于Samsung Exynos 4210的Samsung Galaxy S2智能手机;
- 高通SDM660 / SDM630平台和小米Redmi Note 7智能手机;
- 基于Realtek RTD1295的Xnano X5电视盒;
新的AMD能源驱动程序
期待已久的新版AMD Energy驱动程序,用于监控Zen / Zen 2处理器上的能量传感器,从而使您能够获取AMD Zen / Zen2处理器上每个插槽/内核的能量报告。
Intel Tiger Lake处理器上的Thunderbolt / USB4接口
该补丁 仅包含28行代码,从而确保了对Tiger Lake芯片的Thunderbolt / USB4支持,这在很大程度上要归功于Ice Lake的重用。
Thunderbolt接口也可以使用Thunderbolt PCIe扩展卡在ARM体系结构上运行。当前没有可用的ARM SoC设备。
稳定的Linux 5.8.1版本
Linux 5.8.1次要版本是次要更新,它总共更改了40个文件,其中有548个插入和186个删除。它主要包含针对各种驱动程序的错误修复:
- GPIO,max77620;
- LED;
- SCSI;
- MTD;
- PCI,集成;
- USB;
- 声音;
- 视频;
- ARM64体系结构的更新;
- PowerPC体系结构更新。
哪个内核最有用?
总是在发布具有许多有用更新的新的稳定Linux内核版本时,立即从kernel.org下载归档文件,从menuconfig或xconfig调整设置,从新生成的映像进行编译和引导可能很麻烦。不过,您不应该着急,这就是原因。
稳定分支的维护者Greg Kroah-Hartman对稳定分支的评级很小。这就是它的样子。
- 适用于Linux发行版的稳定,最新的内核。
- 最新的稳定版本。
- 最新的LTS(长期支持)版本;
- 仍支持早期的LTS版本。
权宜之计的第一位是专门为您的发行版编译的Linux内核。它包含所有必需的补丁程序和特殊设置。此外,发行版的开发人员在向后移植错误修复程序(有时还向内核代码添加新功能)方面做了很多工作,尽管存在成千上万的更改,但所有这些工作都是在不改变主要版本号的情况下进行的。
考虑到这些注意事项,有必要等到新内核可用于您的发行版时才有意义。对于Debian Linux和RHEL以及Android设备,可能要过几年才能生产出新内核。但是,有大量的工作站和普通用户发行版,几周之内就会有新的内核可用。
新发行版Ubuntu Linux 20.10(Groovy Gorilla)将于2020年10月附带Linux 5.8内核。
二手材料
- Linux Kernel 5.8“有史以来最大的发行版”终于面世了
- Kernelnewbies,Linux 5.8
- Linux 5.8内核功能包括新的Intel / AMD功能,安全性改进,优化
- Linux 5.8内核发行版
- 我应该使用什么稳定内核?