Linux内核新主线版本5.7发布,大量功能和更新总结
sinye56 2024-12-10 20:14 11 浏览 0 评论
今日 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:替换为正式验证的实现
RISCV
添加Supervisor Binary Interface 0.2和CPU热插拔
对Kendryte K210的部分支持
添加支持以转储内核页表
用于32位RISC-V(RV32G)的eBPF JIT
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支持。
MIPS
向Loongson64添加现代DeviceTree和irqchip支持。
添加对桌面管理接口(DMI)。
ARC
在HW处理DSP表现。
驱动程序
大量的驱动更新,包括显卡、适配器,电源管理,存储等详见具体文档。
- 上一篇:Linux 怎么切换python版本
- 下一篇:Linux服务器程序规范 - 日志
相关推荐
- linux 查看当前应用内存状况,以及内存参数含义
-
1、查看进程号ps-ef|greptomcat2、查看当前内存分配,200ms打印一次jstat-gc进程号2001jstat-gc344802001S0CS1C...
- 如何显示 Linux 系统上的可用内存?这几个命令很好用!
-
在Linux系统中,了解可用内存是优化系统性能、故障排查以及资源管理的重要一环。本文将详细介绍如何在Linux系统上显示可用内存,包括多种方法和工具的使用。在讨论可用内存之前,我们需要了解一些...
- Linux 下查看内存使用情况方法总结
-
Q:我想监视Linux系统的内存使用情况,在Linux下有哪些视图或者命令行工具可用呢?在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内...
- 2、linux命令-用户管理
-
linux命令-用户管理用户切换[root@eric~]#sueric#切换到用户eric[eric@ericroot]$[eric@ericroot]$su#切换到rootPas...
- Centos 7 进入单用户模式详解
-
1、开机在启动菜单按e进入编辑模式找到linux16行,在最后添加init=/bin/sh编辑完后,按ctrl+x退出2、进单用户模式后,使用passwd修改密码,提示以下错误:passwd:Aut...
- 每日一个Linux命令解析——newusers
-
newusers:在Linux系统中,newusers是一个用于批量创建用户的命令。它从一个文件中读取多行用户信息,每行描述一个用户的详细信息,并根据这些信息创建多个用户或对现有用户进行批量修改。一...
- openEuler操作系统管理员指南:管理用户与用户组
-
在Linux中,每个普通用户都有一个账户,包括用户名、密码和主目录等信息。除此之外,还有一些系统本身创建的特殊用户,它们具有特殊的意义,其中最重要的是管理员账户,默认用户名是root。同时Linux也...
- Linux用户管理
-
1、用户信息文件/etc/passwdroot:x:0:0:root:/root:/bin/bash第一列:用户名第二列:密码位第三列:用户ID0超级用户UID。如果用户UID...
- centos7基础-用户、组、权限管理
-
用户和组(1)用户、组、家目录的概念linux系统支持多用户,除了管理员,其他用户一般不应该使用root,而是应该向管理员申请一个账号。组类似于角色,系统可以通过组对有共性的用户进行统一管理。每个用户...
- LINUX基础 ----------组及用户的概念
-
在Linux中,用户和组都是非常重要的概念,可以控制文件访问权限和资源的管理。用户是标识一个进程、应用程序或系统管理员的账号,Linux中每个用户用一个用户ID(UID)来标识。对于一个...
- 从零入门Linux(四)用户与权限管理
-
在Linux系统中,用户和权限管理是系统安全的重要组成部分。通过合理配置用户和权限,可以确保系统的安全性和资源的合理分配。以下是一些与用户和权限管理相关的常用命令和概念。1.用户管理1.1添加...
- 如何在 Linux 中管理用户?
-
在Linux系统中,用户是系统资源的主要使用者,每个用户都有一个唯一的标识符(用户ID)。为了更好地组织和管理用户,Linux还引入了用户组的概念。用户组是用户的集合,有助于更有效地分配权限和资...
- 在 Linux 中将用户添加到特定组的四种方法
-
在Linux多用户操作系统中,用户组管理是系统安全架构的基石。通过合理的组权限分配,管理员可以实现:精确控制文件访问权限(chmod775project/)简化批量用户权限管理(setfacl-...
- 我不是网管 - 如何在Ubuntu Linux下创建sudo用户
-
Sudo用户是Linux系统的普通用户,具有一定的管理权限,可以对系统执行管理任务。在Linux中,root是超级用户,拥有完全的管理权限,但不建议将root凭证授予其他用户或作为r...
- Linux创建普通用户,为密钥方式登录做准备
-
Hi,我是聪慧苹果8,就是江湖上人见人爱、花见花开,土到掉榨的Linux爱好者,一起学习吧!上一篇关于SSH安全加固的文字,有网友点评通过密钥登录更加安全,先创建一个普通用户,拒绝直接使用密码登录,这...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- linux进程通信 (63)