Linux内核新主线版本 5.7发布大量功能和更新总结

近日 Linux内核发布了主线版本 5.7正式版本。大家可能都想知道该版本的变化,本文就简单概述一下Linux 内核 5.7可能带来的功能和变化。

Linux内核新主线版本5.7

Linux带来了大量更新和变化,其中比较值得关注的变化有:

任务计划程序中的热压力

当CPU过热时,温度调节器通常会限制CPU的最大频率。但是,该操作会减少CPU的最大可用算力。如果任务计划程序没有意识到那些频率变化,它将在CPU实际计算能力大于实际能力的情况下做出计划决策。新版本内核中引入了热压力的概念,该概念使任务调度程序更了解频率上限,并在发生过热的情况下可以更好的调度可用cpus的任务中,从而提高性能数。

x86 CPU上的频率不变调度程序统计

假设一个CPU有两个频率:500和1000 Mhz。当运行在1000 MHz时消耗CPU 1/3的任务时,在500 MHz时消耗约2/3的任务,这会给人一种假象,即该CPU可以更快地运行。如果没有注意到频率的变化,看上去任务后者的任务更大,实际上只是由于使用了较慢CPU频率而已。这会使schedutil CPU频率调控器做出错误的决策,导致性能更差。

新版本内核在(某些)x86 CPU上实现了频率不变的调度程序。面对动态电压和频率缩放,可以使容量估计更加精确,并使任务在同一CPU上更好。由于改善了行为,因此intel_pstate驱动程序现在默认为使用schedutil调控器。

新的exFAT文件系统

Linux 5.4 添加了微软exFAT文件系统的实现。该文件系统已被删除;取而代之的是由三星完成实现,在该版本中通过合并以替代以前的实施。

分割锁检测

当原子CPU指令对跨越两条高速缓存行的数据进行操作时,就会发生拆分锁。这比高速缓存行中的原子操作慢很多,并且会破坏其他内核的性能。新版本增加了x86分锁测拆功能的支持。使用split_lock_detect引导命令行,可以警告SIGBUS甚至将其发送给使用分割锁的应用程序。

ARM内核指针身份验证支持

在Linux 5.0中,增加了对ARMv8.3指针身份验证扩展的支持,该扩展使用指针身份验证代码来确定指针是否被意外修改。这样可以防止许多安全漏洞,但是仅对用户空间代码添加了该支持。新版本内核中增加了对arm64内核的支持,这将有助于使用面向返回的编程来保护内核免受攻击。

userfaultfd()写保护支持

新版本增加了userfaultfd(2)-Linux 4.3中添加的系统调用,以使进程处理用户空间中的页面错误,写保护支持。这样可以尝试在用户空间中处理用userfaultfd()指定的地址空间区域中的写入操作。这等效于mprotect(2)和SIGSEGV信号处理程序,但比他们的处理都快。在此发行版中不支持hugetlbfs / shmem。

bpf-lsm:基于BPF的Linux安全模块

当前用于提的遥测内核基础结构(审计,性能等)与访问强制(即LSM)脱节。增强审核提供的信息需要更改内核,审核,其策略语言和用户空间组件。此外,基于新添加的遥测数据构建MAC策略需要更改各种LSM及其各自的策略语言。新版本中增加了一个新的LSM,允许将BPF程序附加到LSM hook,这有助于统一和动态审核和MAC策略。

clone():允许将进程生成为cgroup

新版本增加了对clone(2)的支持,以便在与其父级不同的cgroup中创建进程,这样调用者可以从产生它们的那一刻起就限制和指明进程和线程。服务管理器可以直接将新服务生成到专用的cgroup中。可以在冻结的cgroup中直接创建一个流程,也将其冻结;消除了流程管理和守护程序遇到的抖动;线程应用程序甚至线程实现都可以选择创建特定的cgroup布局,其中每个线程都直接生成到专用的cgroup中。

改进的perf cgroup分析

过去,perf只能分析特定cgroup中的任务,而无法知道当前样本属于哪个cgroup。在新版本中,perf将cgroup信息合并到每个样本中,这使得剖析多个cgroup成为可能,并在perf报告中使用了cgroup排序键。

 

核心变化

clone:允许将进程生成到cgroup中。

任务计划程序:

引入热压力跟踪和优化,以改善热过载系统上的任务放置。当CPU过热时,温度调节器可能会调整最大可能的频率。

各种NUMA调度更新:协调负载平衡器和NUMA放置逻辑,使它们彼此不兼容。预期的结果是更好的局部性,更好的利用率和更少的迁移。

从新调用不对称CPU,以改善非对称拓扑(DynamIQ的big.LITTLE系统)。

改善利用率传播。

调试:将uclamp值添加到procfs 。

io_uring:

重新处理可轮询异步IO的处理方式,不再需要线程卸载即可处理。而是使用poll来驱动。

允许选择消耗性的缓冲区,从而使poll + recv(例如)不再必须是拆分操作。

添加splice(2)支持

在cgroupfs 支持用户xattrs.

VFS:大规模路径重写,

kbuild:

支持LLVM = 1环境变量以将默认工具切换为Clang/LLVM。

设备树:允许允许无内核配置运行dt_binding_check并允许运行。dt_binding_check并在单个命令dtbs_check 使用TRIM_UNUSED_KSYM时,允许将符号白名单保留在ksymtab中。

启用-Wtautological-compare。

将最低支持的binutils版本提高到2.23。

kunit:

debugfs支持在/sys/kernel/debug/kunit/中显示kunit测试套件结果。这对于模块加载的测试特别有用,它可以使测试结果显示与其他dmesg事件

通过allyesconfig 运行所有KUnit测试

fw_devlink:

添加fw_devlink内核命令行选项(并删除of_devlink),该选项可以设置为off|permissive|on|rpm,按设备链接的执行顺序递增。

电源管理:

添加pm_debug_messages内核命令行选项

QoS:删除debugfs接口

RCU:通过积极寻求静态状态并提高RCU读者来应对回调过载

Percpu-rwsem重写使用其自己的等待队列和atomic_t而不是嵌入式rwsem。这解决了几个弱点,但是主要动机是在实时内核上带来复杂性。

在lockdep上引入原始锁嵌套检测,记录raw_lock与普通锁之间的差异。

firmware_loader:从init的mount名称空间加载文件。

 

文件系统

BTRFS:

添加对克隆内联扩展区完全支持

添加更多取消点以进行重定位,改善"平衡取消"长响应

新的BTRFS_IOC_SNAP_DESTROY_V2 ioctl删除子卷,允许按ID删除,并在以后更多扩展

扩展范围参考引用解析的速度,在一个示例测试方案上,发送的运行时间从一个小时缩短为几分钟,

每节点文件范围树,用于在内存中跟踪连续范围范围,以确保i_size调整是正确的

使固定范围跟踪每个事务的用于子卷编写者和NOCOW排除的分解因素锁定方案,抽象为DREW锁,双重读取者-写入者排除(允许读取者或写入者)

使远程完整fsyncs更有效地

删除过时的BTRFS_SUBVOL_CREATE_ASYNC ioctl

XFS文件:

加强元数据验证和在线fsck检查

介绍一个公共的btree重建库,以便我们可以重构xfs_repair并在以后的周期中引入在线修复

CEPH:

支持异步创建和取消链接。只要已为客户端授予适当的上限(v15版本中的新增功能),就可以在本地满足创建和取消链接的需要,而无需等待MDS的答复。对于元数据繁重的工作负载(例如tar和rsync),这可能是一个很大的帮助。选择加入新的nowsync挂载选项

CIFS:

SMB3.1.1 POSIX支持readdir。

添加实验性的SMB3交换分区mount支持。

提高页面大小64KB & cache=strict & vers=2.1+。

FSCRYPT:

添加一个ioctl
FS_IOC_GET_ENCRYPTION_NONCE,它可以从加密的文件或目录中检索随机数。这对于自动密文验证测试很有用。

EXFAT:

添加新的exfat文件系统。

EXT4:

替换ext4的bmap和iopoll实现以使用iomap。

F2FS:

允许使用chattr -c;

显示安装时间;

介绍
F2FS_IOC_GET_COMPRESS_BLOCKS ioctl:用户可以获取保存在目标inode块压缩;

将默认压缩算法更改为LZ4;

支持zstd compress算法;

在statx 显示压缩。

NFS:

在pNFS/flexfiles驱动程序中启用部分文件布局段添加模块参数以设置NFS自动安装的挂载点超时值

OVERLAYFS:

让virtiofs用作上层。

 

内存管理

mremap(2):

添加MREMAP_DONTUNMAP标志。重新映射匿名私有映射时,如果设置了MREMAP_DONTUNMAP,则不会删除源映射。预期这将在Chrome操作系统上使用,其中使用userfaultfd可以将匿名映射写入磁盘,而无需停止该过程或担心VMA权限更改。

内存cgroup:

递归内存保护。它扩展了memory.low/min,从而knobs递归地应用于整个子树。用户仍然可以为子组分配显式保护,但是如果没有,则将动态分配父级cgroup设置的保护,以使子级自由竞争-就像子树内未启用任何内存控制一样-但可以享受对相邻树的保护。这是默认行为,但是它是一个挂载选项,以避免回归。

userfaultfd:

初始写保护支持(尚不支持shmem和ugettlbfs),等效于使用mprotect和SIGSEGV信号处理但是比他们快。

dma-buf:

添加动态DMA-buf处理。这允许导出器提供映射,而无需固定后备存储库页面错误增强功能:它不仅使页面错误处理程序在SIGKILL上,而且在其余用户空间信号(尤其是用户模式错误)上都更具交互性,并且允许页面错误重试不止一次添加对免费页面报告的支持,该API是一种API,它提供了一种异步方式向虚拟机管理程序报告免费的来宾页面,以便与这些页面关联的内存可以被主机上的其他进程和/或来宾删除和重用。使用这种有可能避免不必要的I/ O到磁盘并大大内存过量的主机上的情况下提高性能

mbind(2):支持MPOL_MF_STRICT进行大页面映射。

vmstat:添加统计信息以进行巨大的页面后备。现有的thp_fault_fallback指示thp何时尝试分配巨大页面但失败,或者该巨大页面是否无法计入mem cgroup层次结构。此发行版还将其扩展到shmem,并添加了新的thp_file_fallback来补充thp_file_alloc,当试图分配一个大页面但失败时,或者如果无法将其计入mem cgroup层次结构

zswap:允许在编译时设置默认状态,压缩器和分配器。

添加hugetlb_cma引导选项,该选项允许保留cma区域,该区域以后可用于1 GB的大页面分配

hugetlbfs:使用i_mmap_rwsem获得更好的同步,在预约时间命中hugetlb_cgroup限制,而不是在错误的时间。

添加Uacce(统一/用户空间访问专用的Accelerator框架)。冯.诺依曼(Von Neumann)体系结构不擅长常规数据处理,因此存在越来越多的异构处理器,例如加密/解密加速器,TPU或EDGE处理器。Uacce的目的是确保加速器和进程可以共享相同的地址空间,因此加速器ISA可以直接寻址主CPU的任何数据结构。这不同于CPU和IO设备之间的数据共享,后者共享数据内容而不是地址。Uacce旨在与Jean Philippe Brucker的SVA补丁集一起使用,该补丁集可实现IO侧页面错误和PASID支持。

修复CMA分配透明大页面迁移。

ubsan:分离出边界检查器,因此可以单独使用。

 

设备块层

scsi:允许非root用户执行ZBC命令

设备映射:

dm writecache:实现逐步清理,添加一个新选项max_age,该选项指定以毫秒为单位的最大期限。

dm writecache:添加了DM writecache"清理器"策略功能,该功能允许在用户空间监视完成情况时刷新高速缓存,然后取消使用缓存。

dm完整性,添加可选的废弃支持。

diskstats:更准确的io_ticks和优化。

rbd:启用多个blk-mq队列。

null_blk:添加对故障注入支持。

添加对块磁盘大小调整的支持udev通知。

 

追踪,perf和BPF

perf:

改进cgroup分析。它允许将新的cgroup id添加到样本,以便可以分析多个cgroup。新的cgroup排序键已添加到perf报告中,该键显示cgroup成员关系。

报告支持不带符号的代码注释。

报告支持新密钥以重新加载浏览器。

report/op:支持使用选项--group-sort-idx和TUI界面中的热键按组中的给定事件进行排序,以允许用户选择事件以对进行排序。

支持度量标准组约束:启用NMI时,某些度量标准组无法计数。此版本在事件列表中添加了" MetricConstraint",这为perf工具提供了提示,并且如果启用了NMI看门狗,则perf工具可以将度量标准组更改为非组(独立度量标准)。

evlist:支持最近添加的
PERF_SAMPLE_BRANCH_HW_INDEX。

缝合LBR调用堆栈(内核):现有的最后一个分支记录(LBR)允许记录调用堆栈,但是调用堆栈的深度受LBR寄存器数的限制。然而,被覆写的LBRS仍然可以从先前的样本取回并缝合在一起。

引入--deltatime选项,该选项计算与上一个事件相关的时间差。

允许--symbol接受十六进制地址。

stat:显示每个CPU输出percore计数。

BPF:

扩展SOCKMAP以存储侦听和已建立的套接字。这样就可以将SOCKMAP BPF映射与复用端口BPF程序一起使用。

使BPF和PREEMPT_RT共存。

BPF程序可能想知道skb是否是gso。以与gso_segs。

相同的方式公开gso_size字段。

添加bpf_sk_assign eBPF帮助程序,它允许在将数据包接收到堆栈时为skb分配一个先前找到的套接字,以使堆栈将数据包引导到该套接字,以进行本地路由配置。目的是通过TC入口处附带的eBPF程序更直接地支持TProxy用例,以简化和简化具有Cilium 扩展环境中的Linux堆栈配置。

加入bpf_sk_storage_get()和bpf_sk_storage_delete()助手的bpf_tcp_ca的struct_ops。

在基于BPF cgroup的connect(),sendmsg(),recvmsg()与绑定相关的hook中添加各种简单的帮助程序改进和补充,这将允许实施更细粒度的策略并改善当前的负载均衡器限制在inet_diag的转储期间提供bpf_sk_storage数据。

添加对在sockmap和sockhash中存储UDP套接字的支持。

添加bpftool struct_ops以支持struct_ops功能。

引入bpftool prog profile命令,该命令使用硬件计数器来概要分析BPF程序

libbpf:添加对动态程序附加目标的支持:以前,当您要将跟踪程序附加到bpf程序时,节名需要与跟踪点/函数语义匹配。新API的添加允许动态指定跟踪点/函数。

添加bpf_link抽象,类似于libbpf已经存在的bpf_link抽象。这样可以使现有的类似于bpf_link的BPF程序链接(附件)类型(原始跟踪点和跟踪链接)形式化并变得更加统一,它们是基于FD的对象,在关闭最后一个文件引用时会自动分离它们。这些类型的BPF程序链接已切换为使用bpf_link框架。基于FD的bpf_link方法通过确保不会附加遗弃的BPF程序来提供强大的安全保证,如果用户进程在自身之后突然退出或忘记清理时。

为cgroup BPF程序添加基于bpf_link的BPF程序附加机制。

介绍BPF_MODIFY_RET跟踪程序。modify_return程序所允许的白名单中的错误注射安全钩和功能。

允许按文件SELinux标签进行bpffs。

追踪:

当读取跟踪文件不再禁用环形缓冲区。

新的set_ftrace_notrace_pid文件。函数跟踪程序不会跟踪此文件中的PID。

新的set_event_notrace_pid文件。如果文件由具有匹配的PID的任务触发,则此文件中的PID将导致不跟踪事件。

 

虚拟化

添加vDPA设备支持。vDPA设备是一种使用符合供应商特定控制路径的virtio规范的数据路径的设备。vDPA设备可以物理上位于硬件上,也可以由软件仿真。

UML:支持外接时间旅行:在Unix套接字使用一种特殊的应用程序-可以让多台计算机参加一个时间旅行的仿真一起。

vfio/pci:SR-IOV支持。

virtio-net:介绍规范中定义的功能:RSS接收控制,扩展的RSC信息,并报告具有传入数据包的。

virtio_net:添加XDP元数据支持。

virt_wifi:实现ndo_get_iflink。

Hyper-V PCI:添加对协议1.3支持。

tools/kvm_stat:添加命令行开关" -c"以csv格式登录,添加" -s"以设置更新间隔。

 

安全性

新的LSM:使用eBPF(KRSI)的MAC和审核策略。它允许将BPF程序附加到LSM hook 有助于实现统一和动态的审核和MAC策略。

seccomp:允许TSYNC和USER_NOTIF一起。

SELinux:

允许kernfs符号链接继承父目录上下文。

提高文件名转换规则的计算和内存效率。

为SELinux检查XFS配额添加了这些配额命令类型。

ibmvtpm:添加对TPM2支持。

 

网络

改善bind(addr,0)的行为。即使所有套接字都启用了SO_REUSEADDR,当所有端口都用尽时,Linux仍无法将套接字绑定到临时端口。在这种情况下,仍然可以连接到不同的远程主机。此版本增加的
net.ipv4.ip_autobind_reuse,允许其结合SO_REUSEADDR启用套接字到相同的(地址,端口)置为1时,所有临时端口耗尽

为非root用户启用SO_BINDTODEVICE

多路径TCP第3部分(但不是最后一部分):多个子流和路径管理。

IPv4:在非初始网络显示
tcp_allowed_congestion_control和
tcp_available_congestion_control系统控件

IPv6:添加用于RPL源路由处理和插入的处理(实现为lwtunnel)

UDP:裸UDP L3封装模块。所述Bareudp隧道模块提供隧道支持不同L3协议,如MPLS,IP,NSH等一个UDP隧道内的通用L3封装隧道支持

蓝牙:

允许更高级别的HFP实现来启用宽带语音。

处理系统优雅地挂起。

添加BT_PHY套接字选项。

L2CAP:添加代码以增强的基于信用的模式以及模块选项,以使可以被激活。

Devlink:

引进发展链路端口味虚拟。

允许有能力的设备驱动程序使用devlink注册其支持的数据包陷阱策略。然后,用户空间可以调整这些策略器的参数(当前为速率和突发大小),并从设备读取该策略器丢弃的数据包的数量(如果支持)。

devlink:添加对DEVLINK_CMD_REGION_NEW操作的支持,该操作用于启用用户空间来请求按需提供区域快照。这可能是有用以允许添加区域为一个驱动器,用于其中不存在触发创建快照。

重构由devlink核心明确设置的自动恢复运行状况报告程序标志。另外,添加另一个标志来控制自动转储属性,该标志也将由devlink核心显式设置。

IPSec:添加对esp甜菜模式卸载支持。

ethtool:netlink接口第3部分。

MACSec:

添加新的netlink属性,以允许用户(可选)在MACSec链接创建立即指定所需的卸载模式

支持XPN帧处理-IEEE 802.1AEbw

桥接

VLAN选项:添加对隧道映射。

VLAN选项:嵌套隧道选项。

包调度:

使FIFO Qdisc可卸载。

介绍连接跟踪硬件卸载。

使用NF流表卸载基础结构将软件卸载具有已建立ct状态的连接,因此一旦卸载了这些流,它们将不再通过conntrack,而是act_ct将skb上的conntrack信息元数据恢复到其已拥有的状态在卸载事件上-建立的。

允许用户为添加的TC操作指定硬件统计信息的类型:立即,延迟或禁用。

RED qdisc:介绍ECN nodrop模式。

使tc分类从指定的链开始。TC多链配置可能会导致转移到某个链上的tc链在硬件中丢失,在这种情况下,软件应从硬件遗漏的链中继续。

公开驱动程序使用的每个操作的硬件统计信息类型。

实现用于向pedit和skbedit操作的SW计数器添加硬件计数器的回调。

网络过滤器:

引入一个netfilter出口钩子以补充现有的入口钩子。

连接跟踪:sysctl项中无特权的命名空间重访知名度。

流程图:添加计数器支持。

根据路由lwtunnel 提供隧道卸载。

允许用户添加和恢复set元素的有状态表达式。

支持集合定义有状态表达式。

nft_tunnel:添加对Geneve opts支持。

xtables:添加hardidletimer目标快照。

nft_set_pipapo:性能改进。

WIFI:

添加封装卸载支持。

添加支持BSS着色。

添加基础结构以支持每个TID配置,例如noack策略,重试计数,AMPDU控制(禁用/启用),RTSCTS控制(启用/禁用)和TX速率掩码配置。

添加对请求测距测量将使用基于触发/不基于触发的流而不是基于EDCA的流

添加API来告知驱动程序是否支持受保护的TWT 。

添加对信标保护的支持。

为了在已经关联到一个AP的同时支持预关联安全协商(PASN),允许用户空间注册到Rx认证帧,以便作为PASN 一部分,用户空间逻辑能够从其他AP接收/处理认证帧。

允许用户空间重置IBSS工作站以解决聚合问题。

允许配置PMK生存期并为PMKSA条目重新认证阈值。

openvswitch:添加TTL减量动作。

pktgen:允许回送设备。

veth:添加更多veth xdp统计信息以与mellanox,intel和marvell实现保持一致。

XDP:添加对原子替换接口上加载的XDP程序的支持。这可以通过新的netlink属性来实现,该属性可以指定期望的先前程序在接口上替换。

扩展数据包在DEVX接口步调。

qrtr:将Qualcomm IPC路由器(QRTR)名称服务从用户空间迁移到内核。

 

多平台支持

ARM:

设备树源:

两个新的高通公司的SoC与他们的评估板:Snapdragon的865(SM8250)是当前高端电话芯片,并且IPQ6018是一个新的WiFi-6-路由器芯片。

用于语音助手的联发科技MT8516应用处理器SoC,以及"pumpkin"开发板。

恩智浦i.MX8M Plus SoC(流行的i.MX8M的变体)以及评估板。

基于NXP LS1028A的控创" sl28"板系列。

Eleven新i.MX6 TechNexion Pico微板的变体。基于i.MX6/i.MX7 SOM系统的 dwarf", "hobbit", "nymph"及"pi"基础板卡。

Toradex Colibri板系列的其他三个变体,均基于NXP i.MX7版本。

基于Rockchip RK3399的Pinebook Pro笔记本电脑。

Pine64 PineTab平板电脑和PinePhone手机均基于Allwinner A64 。

三星S7710 Galaxy Xcover 2,基于ST-Ericsson u8500平台的2013年老式Android手机。

DH Electronics DHCOM SoM和PDK2修订版。基于STMicroelectronics stm32mp157的400载波。

瑞萨M3ULCB入门套件,用于R-Car M3-W+。

Hoperun HiHope开发板与瑞萨电子RZ/G2M。

适用于Lamobo R1路由器的Linutronix Testbox v2,基于Allwinner A20。

PocketBook Touch Lux 3电子书阅读器,基于全志A13。

arm-smmu-v3:添加SMMUv3.2范围失效支持,完成PASID支持和命令队列批处理。

irqchip/gic-v4:GICv4.1体系结构支持。

soc:fsl:dpio:启用QMAN批处理使排队。

SOC:Mediatek:pwrap:添加MT6779 SoC的pwrap驱动程序。

介绍保护域重新启动(PDR)帮助程序。

OMAP2+:为am335x/am437x引入cpuidle。

CoreSight CTI驱动程序。

KVM:删除对32位KVM/ARM主机的。

qcom:添加对IPQ40xx 支持。

 

64位支持:

介绍对活动监视器单元(AMU)CPU扩展的支持,这是ARMv8.4 CPU中的可选扩展。这提供了供系统管理使用的性能计数器。然后,使用这些计数器中的两个计数器来计算获得更好的CPU利用率数字所需的频率标度校正因子(频率不变性)

(功能)内核中指针身份验证支持(以前仅提供给用户空间)。通过使用ARMv8.3指针身份验证指令(以下称为ptrauth)编译内核,可以提高arm64内核的函数返回地址保护。这应该有助于使用面向返回的编程来保护内核免受攻击。

启用内存热删除

perf:添加对ARMv8.5-PMU 64位计数器

为arm64 启用RANDOM_TRUST_CPU

 

X86

添加对通用EFI混合模式引导的支持:从运行在支持64位的CPU上的32位固件引导64位x86内核,而无需引导加载程序实现EFI切换协议或分配设置块。

启用实时实时分裂锁检测和调试。拆分锁定是对原子指令中两条高速缓存行之间未对齐数据的访问,这会显着降低性能。此功能根据内核引导选项split_lock_detect的设置检测并警告或崩溃内核。

在(某些)x86 CPU上实现频率不变的调度程序。这是通过在" tick"边界观察并采样"最近" CPU频率平均值来完成的。CPU通过APERF / MPERF MSR提供此数据。面对动态电压和频率缩放比例,这有望使容量估算更加精确,并使任务在同一CPU上更好。

由于增加了频率不变支持,因此intel_pstate驱动程序默认使用schedutil调控器。

 

平台类:

chrome:添加Type C连接器类驱动程序。

chrome:Cros EC传感器集线器FIFO支持。

chrome:添加cros-usbpd-notify驱动程序。

intel_pmc_core:

添加基于Atom的Jasper Lake(JSL)平台支持。

添加debugfs条目。

intel-speed-select:添加显示以启用cpus count。

Intel:介绍控制流执行操作码。

添加英特尔Jasper Lake CPU支持。

添加Intel Ice Lake Server Uncore支持。

添加英特尔Tiger Lake Uncore支持。

intel_th:msu:使停止跟踪成为可选

amd:添加对Family 19h L3 PMU 。

mce/amd:为AMD MCE添加受保护的处理器标识号(PPIN)支持

vmware:添加对VMware guest虚拟机窃取时间支持

供应商事件:添加AMD Zen2事件并将Zen1事件更新为V2

acpi:添加内核参数(bgrt_disable)以禁用ACPI BGRT

curve25519:替换为正式验证的实现

 

S390

/proc/cpuinfo。

添加系统拓扑信息。

显示包的在线CPU数量。

显示在线核心。

性能:为IBM z15 添加新的扩展计数器。

性能:供应商事件s390:为IBM z15添加新的deflate计数器。

IPL:添加支持(通过sysfs)来控制FCP和CCW重新IPL内存清除。

KVM:添加对受保护VM的支持。

删除虚假的Numa支持。

qeth:添加了对ETHTOOL_RX_COPYBREAK的支持。

qdio:通过debugfs导出SSQD。

qeth:几个ethtool增强功能(.set_channels,SW时间戳记,每个队列TX IRQ合并)。

zcrypt:支持CCA保护的密钥块版本2 。

KVM:引入模块参数kvm.use_gisa。

删除损坏的休眠/电源管理支持。

 

PowerPC

异常清除,用C重写syscall汇编程序代码,并在ppc64le上禁用compat cruft。

fadump:对于fadump内存预留sysfs的,重新组织/ SYS /内核/ fadump_ * sysfs文件。

添加新的配置选项PMU_SYSFS以启用PMU SPR sysfs文件创建。

powernv:添加显式的快速重启支持。

powernv:移动核心和fadump_release_opalcore的sysfs文件到另一个目录。

xive:添加debugfs文件以转储内部XIVE状态。

Book3S HV:添加了启用安全访客。

 

CSKY

添加kprobes/uprobes支持。

添加lockdep,rseq,gcov支持。

 

驱动程序

大量的驱动更新,包括显卡、适配器,电源管理,存储等详见具体文档。

 

转载请注明链接地址:荐爱小站 » Linux内核新主线版本 5.7发布大量功能和更新总结

赞 (16) 赏 !

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • 计算 (必填)

觉得文章有用就打赏一下吧,赠人玫瑰手有余香!

支付宝扫一扫打赏

微信扫一扫打赏