Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 12 章 内核

protobuf-c 软件包现在可用于 IBM Power Systems 架构的 little-endian 变体

在这个版本中,为 IBM Power Systems 架构的 little-endian 变体添加了 protobuf-c 软件包。protobuf-c 软件包为 Google 的 Protocol Buffer 提供 C 绑定,它是上述构架中的 criu 软件包的先决条件。criu 软件包提供 Checkpoint/Restore in User space (CRIU)功能,它提供检查点和恢复进程或进程组。(BZ#1289666)

在内核中启用了 CAN 协议

启用 Controller Area Network (CAN)协议内核模块,为 CAN 设备驱动程序提供设备接口。CAN 是一个 vehicle 总线规格,最初旨在连接自动移动中的各种微控制器,自扩展到其他区域后。CAN 也用于工业,机器控制需要高性能接口,其他接口(如 RS-485)不足。CAN 设备驱动程序使用从 CAN 协议模块导出的功能,使内核了解设备,并允许应用程序连接和传输数据。在内核中启用 CAN 允许第三方 CAN 驱动程序和应用程序实施基于 CAN 的系统。(BZ#1311631)

kexec-tools中添加持久性内存支持

Linux 内核现在支持 Non-Volatile Dual In-line Memory Module (NVDIMM)内存设备的 E820_PRAM 和 E820_PMEM 类型。从上游后向移植了一个补丁,这样可确保 kexec-tools 也支持这些内存设备。(BZ#1282554)

libndctl - 用户空间 nvdimm 管理库

添加了 libndctl 用户空间库。它是内核 libnvdimm 子系统提供的 ioctlsysfs 入口点的集合。该程序库为启用了 NVDIMM 的平台启用更高级别的管理软件,同时还提供了一个命令行界面来管理 NVDIMM。(BZ#1271425)

kABI whitelist 的新符号,以支持 hpvsa 和 hpdsa 驱动程序

在这个版本中,内核应用程序二进制接口(kABI)白名单中添加了一组符号,这样可保证对 hpvsa 和 hpdsa 驱动程序的支持。
新添加的符号有:
  • scsi_add_device
  • scsi_adjust_queue_depth
  • scsi_cmd_get_serial
  • scsi_dma_map
  • scsi_dma_unmap
  • scsi_scan_host (BZ#1274471)

crash rebase 到版本 7.1.5

crash 软件包已升级到上游版本 7.1.5,它提供几个程序错误修复和增强。值得注意的是,这个 rebase 添加了新选项,如 dis -s,dis -f,sys -i,list -l, Quick Emulator (QEMU)的新支持会在 64 位 ARM 架构上生成了 Executable 和 Linkable Format (ELF) vmcore,以及支持最新上游内核所需的几个更新。与有选择地移植各个补丁相比,对 崩溃 软件包进行更新更加安全且效率更高。(BZ#1292566)

新软件包: crash-ptdump-command

Crash-ptdump-command 是一个新的 rpm 软件包,它提供了一个崩溃扩展模块来向 crash 工具添加 ptdump 子命令。ptdump 子命令从 vmcore 文件中检索并解码 Intel Processor Trace 工具生成的日志缓冲区,并输出到文件。这个新软件包是为 EM64T 和 AMD64 架构设计的。(BZ#1298172)

现在支持 ambient 功能

功能是 Linux 内核利用的每个线程属性,用于将通常与超级用户权限关联的权限分成多个不同的单元。在这个版本中,增加了对内核 ambient 功能的支持。ambient 功能是一组在程序使用 execve () 系统调用执行时保留的功能。只有允许和继承的功能才能是不同的。您可以使用 prctl () 调用来修改 ambient 功能。有关常规有关内核功能的更多信息,请参阅 capabilities (7) 手册页,以及 prctl (2) 手册页。(BZ#1165316)

cpuid 现已正式发布

在这个版本中,Red Hat Enterprise Linux 提供了 cpuid 工具。这个工具转储 CPUID 指令收集的 CPU 的详细信息,同时决定 CPU 的确切 CPU 模型。它支持 Intel、AMD 和 VIA CPU。(BZ#1307043)

FC-FCoE 符号已添加到 KABI 白名单中

在这个版本中,属于 libfclibfcoe 内核模块的符号列表已添加到内核应用程序二进制接口(KABI)白名单中。这样可确保以太网光纤通道(FCoE)驱动程序(依赖于 libfclibfcoe )可以安全地使用新添加的符号。(BZ#1232050)

新软件包:OpenPower 系统 opal-prd

新的 opal-prd 软件包包含一个守护进程,它处理特定于硬件的恢复过程,并在引导时作为后台系统进程运行。它与 OPAL 固件交互,以捕获硬件错误原因、日志事件到管理处理器,并在合适的情况下处理可恢复的错误。(BZ#1224121)

新软件包: libcxl

新的 libcxl 软件包包含用户空间库,用于通过内核 cxl 功能访问 CAPI 硬件。它可用于 IBM Power Systems 和 IBM Power Systems 架构的 little-endian 变体。(BZ#1305080)

对新添加的 iproute 命令的内核支持

在这个版本中,添加了内核支持,以确保新添加的 iproute 命令正常工作。提供的补丁集包括:
  • IPsec 接口的扩展,允许哈希使用前缀策略。
  • 根据 preflen 阈值,包含哈希前缀策略。
  • 通过 netlink 配置策略散列表阈值。(BZ#1222936)

PID cgroup 控制器的后向移植

这个版本添加了新的进程标识符(PID)控制器。此控制器帐户为每个 cgroup 的进程帐户,并允许 cgroup 层次结构在达到特定限制后停止任何新任务或克隆。(BZ#1265339)

mpt2sas 和 mpt3sas 合并

mpt2sasmpt3sas 驱动程序的源代码已合并。与上游不同,为了兼容的原因,Red Hat Enterprise Linux 7 继续维护两个二进制驱动程序。(BZ#1262031)

允许在 ksc 中指定多个 .ko 文件

在以前的版本中,无法在 ksc 工具的单一运行中添加多个 .ko 文件。因此,在单个运行中不会将包含多个内核模块的驱动程序传递给 ksc。在这个版本中,-k 选项可以在同一运行中多次指定。因此,单个 ksc 运行可用于查询多个内核模块使用的符号。因此,生成所有模块使用的符号的文件。(BZ#906659)

dracut 更新

dracut initramfs 生成器已更新,对之前的版本提供了很多程序错误修复和增强。值得注意的是:
  • dracut 提供了一个新的内核命令行选项 rd.emergency=[reboot|poweroff|halt],它指定了在出现关键故障时要执行的操作。当使用 rd.emergency=[reboot|poweroff|halt] 时,还应指定 rd.shell=0 选项。
  • rebootpoweroffhalt 命令现在可以在 dracut 的紧急 shell 中正常工作。
  • dracut 现在在内核命令行中支持多个绑定、网桥和 VLAN 配置。
  • 现在,可以使用 rd.device.timeout=<seconds> 选项在内核命令行中 指定设备超时。
  • 现在 DHCP 中使用在内核命令行中指定的 DNS 名称服务器。
  • dracut 现在支持 20 字节 MAC 地址。
  • 现在,为 DHCP 和 IPv6 Stateless Address AutoConfiguration (SLAAC)正确设置了最大传输单元(MTU)和 MAC 地址。
  • ip= 内核命令行选项现在支持括号中的 MAC 地址。
  • dracut 现在支持 RDMA (NFSoRDMA)模块的 NFS。
  • 在以太网(FCoE)设备中添加了对 kdump 的支持。FCoE 设备的配置在 kdump initramfs 中编译。内核崩溃转储现在可以保存到 FCoE 设备。
  • dracut 现在支持 --install-optional <file list> 选项和 install_optional_items+= <file>[ <file> ...] 配置文件指令。如果您使用新选项或指令,则会安装这些文件(如果文件存在),如果不存在,则不会返回错误。
  • dracut DHCP 现在识别 rfc3442-classless-static-routes 选项,该选项允许使用无类别网络地址。(BZ39)1359144, BZ39)1178497, BZ39)1324454, BZ0471194604, BZ0471282679, BZ39)1282680, BZ39)1332412, BZ 13319270, BZ1271656 , BZ 1271656, BZ39)1367374, BZ39)69672, BZ0471222529, BZ39)60955)

支持 Wacom Cintiq 27 QHD

Red Hat Enterprise Linux 7 现在支持 Wacom Cintiq 27 QHD 平板电脑。(BZ#1342989)

对 Intel® Omni-Path 架构(OPA)内核驱动程序的完全支持

以前作为技术预览提供的 Intel® Omni-Path 架构(OPA)内核驱动程序现已获得全面支持。Intel® OPA 为在集群环境中的计算和 I/O 节点之间的高性能数据传输(高带宽、高消息率、低延迟)提供主机 Fabric Interconnect (HFI)硬件初始化和设置。
有关如何获取 Intel® Omni-Path 架构文档的说明,请参阅 https://access.redhat.com/articles/2039623。(BZ#1374826)

cyclitest --smi 选项可供非 root 用户

有了这个更新,可以以非 root 用户身份使用带有 --smi 选项的 cyclictest 程序,只要用户也属于 realtime 组。在支持系统管理中断(SMI)的处理器上,-- smi 显示有关系统的 SMI 的报告,它之前只对 root 用户可用。(BZ#1346771)

添加了对新智能阵列存储适配器的支持

在 Red Hat Enterprise Linux 7.2 和旧版本中,不支持新的 Smart Array 存储适配器。但是,aacraid 驱动程序检测到这些适配器,系统似乎可以正常工作。在这个版本中,新的 smartpqi 驱动程序支持新的 Smart Array 存储适配器。请注意,当您更新时,这些适配器的驱动程序名称将改变。(BZ#1273115)

Linux 内核现在支持可信虚拟功能(VF)概念

上游代码已向后移植到 Linux 内核中,以支持可信虚拟功能(VF)概念。现在,允许可信 VF 启用多播聚合模式,允许它们分配超过 30 个 IPv6 地址。可信 VF 也允许覆盖介质访问控制(MAC)地址。(BZ#1302101)

现在 IBM Power 系统支持 seccomp 模式 2

在这个版本中,增加了对 IBM Power 系统上的 seccomp 模式 2 的支持。seccomp 模式 2 涉及解析 Berkeley Packet Filter (BPF)配置文件来定义系统调用过滤。这个模式提供了显著的安全增强,这对在 IBM Power Systems 上的 Linux 中采用容器至关重要。(BZ#1186835)

添加了内存带宽监控

这个更新将内存带宽监控(MBM)添加到 Linux 内核中。MBM 是平台服务质量(QoS)功能系列中包含的 CPU 功能,用于跟踪特定任务的内存带宽使用量或一组与资源监控 ID (RMID)关联的任务。(BZ#1084618)

brcmfmac 现在支持 Broadcom 无线卡

brcmfmac 内核驱动程序已更新,以支持 Broadcom BCM4350 和 BCM43602 无线卡。(BZ#1298446)

autojoin 选项已添加到 ip addr 命令中,以允许多播组加入或离开

在以前的版本中,无法向进行多播修剪的以太网交换机指示互联网组管理协议(IGMP)成员资格。因此,这些交换机不会将数据包复制到主机的端口。有了这个更新,ip addr 命令已使用 autojoin 选项扩展,该选项可让主机加入或离开多播组。(BZ#1267398)

Open vSwitch 现在支持 NAT

在这个版本中,Open vSwitch 内核模块增加了网络地址转换(NAT)支持。(BZ#1297465)

页面表现在并行初始化

在以前的版本中,页表基于 Intel EM64T、Intel 64 和 AMD64 架构在非统一内存访问(NUMA)系统上按顺序化。因此,大型服务器可能会在引导时执行缓慢。在这个版本中,已向后移植一组补丁,以确保内存初始化主要由节点激活的一部分由节点本地 CPU 并行完成。因此,与之前的版本相比,内存为 16TB 到 32TB 的系统现在启动大约两次。(BZ#727269)

Linux 内核现在支持 Intel MPX

在这个版本中,在 Linux 内核中添加了对 Intel 内存保护扩展(MPX)的支持。Intel MPX 是 Intel 64 架构的一组扩展。Intel MPX 与编译器、运行时库和操作系统支持通过检查其编译时间正常目的的指针引用来提高软件的简洁性和安全性,因为缓冲区溢出可能会恶意利用。(BZ#1138650)

ftrace 现在按预期打印命令名称

当 trylock () 函数没有成功获得锁定时,在 ftrace 内核追踪程序中保存命令名称会失败。因此,ftrace/sys/kernel/debug/tracing 文件中没有正确打印命令名称。在这个版本中,命令名称的记录已被修复,ftrace 现在会如预期打印命令名称。用户现在可以通过设置 saved_cmdlines_size 内核配置参数来设置存储的命令数量。(BZ#1117093)

现在,在 /proc/<pid>/smaps 中可以看到交换的共享内存

在此次更新之前,swapped-out 共享内存都不会出现在 /proc/<pid>/status 文件中,也不会出现在 /proc/<pid>/smaps 文件中。在这个版本中,增加了交换出出共享内存的每个进程核算,包括 sysV shm、共享匿名映射并映射到 tmpfs 文件。现在,swapped-out 共享内存会出现在 /proc/<pid>/smaps 中。但是,swapped-out 共享内存没有反映在 /proc/<pid>/status 中,而 swapped-out shmem 页面则保留在某些工具中(如 procps )。(BZ#838926)

内核 UEFI 支持更新

内核中的统一可扩展固件接口(UEFI)支持已更新,并带有来自上游内核的一组选择补丁。与之前的版本相比,这个集合提供了很多程序错误修复和增强。(BZ#1310154)

鼠标控制器现在可以在带有安全引导的客户机上工作

Red Hat Enterprise Linux 现在支持启用了安全引导功能的客户虚拟机上的鼠标控制器。这样可确保在虚拟机监控程序上运行的 Red Hat Enterprise Linux 客户机上的鼠标功能默认启用安全引导。(BZ#1331578)

现在支持 RealTek RTS520 卡读取器

在这个版本中,增加了对 RealTek RTS520 卡读卡器的支持。(BZ#1280133)

隧道设备现在支持锁定 xmit

在以前的版本中,默认使用 pfifo_fast 队列格式的隧道设备,需要 tx 路径的序列化锁定。在这个版本中,每个 CPU 变量用于统计核算,不需要在 tx 路径上进行序列化锁定。因此,现在允许用户空间配置 noqueue 队列规则,且 xmit 路径不需要锁定,这会显著提高隧道设备 xmit 性能。(BZ#1328874)

Chelsio 驱动程序更新

Chelsio NIC、iWARP、vNIC 和 iSCSI 驱动程序更新至其最新版本,与之前的版本相比,这增加了几个程序错误修复和增强。
最显著的改进包括:
  • ethtool 支持以获取适配器统计信息
  • ethtool 支持转储频道统计信息
  • ethtool 转储回环端口统计信息
  • debugfs 条目用于转储 CIM MA 逻辑分析器日志
  • debugfs 条目用于转储 CIM PIF 逻辑分析器内容
  • debugfs 条目用于转储频道率
  • debugfs 条目以启用后台访问
  • debugfs 支持转储 meminfo
  • MPS 追踪支持
  • RX 的硬件时间戳支持
  • T6 适配器的设备 ID (BZ39) 75829)

支持 Chelsio 驱动程序的 25G、50G 和 100G 速度模式

有了这个更新,一组补丁已被向后移植到 Linux 内核中,它为 Chelsio 驱动程序添加 25G、50G 和 100G 速度模式。此补丁集还将链接模式掩码 API 添加到 cxgb4cxgb4vf 驱动程序中。(BZ#1365689)

mlx5 现在支持 NFSoRDMA

在这个版本中,mlx5 驱动程序支持通过远程直接内存访问(NFSoRDMA)导出网络文件系统。现在,客户可以通过 RDMA 挂载 NFS 共享,并从客户端计算机执行以下操作:
  • 使用 ls 命令列出 NFS 共享中的文件
  • 对新文件使用 touch 命令
此功能允许某些作业从共享存储中运行,当您有大的 InfiniBand 连接的运行时很有用,这样可增大大小。(BZ#1262728)

在 6 代 Intel Core Processors 上启用了 I2C

从这个更新开始,第 6 代 Intel Core Processors 支持由内核驱动程序控制的 I2C 设备。(BZ#1331018)

mlx4mlx5 现在支持 RoCE

这个版本添加了对 Remote Direct Memory Access Over Converged Ethernet (RoCE)网络协议时间到 mlx4mlx5 驱动程序的支持。RoCE 是一种通过远程直接内存访问(RDMA)提供高效服务器到服务器数据传输的机制,在无丢失以太网网络中非常低延迟。RoCE 封装了两个以太网数据包之一中的 InfiniBand (IB)传输: - RoCEv1 - 专用 ether 类型(0x8915)- RoCEv2 - 用户数据报协议(UDP)和专用 UDP 端口(4791)。
现在,mlx4mlx5 支持 RoCE 版本。从此次更新开始,mlx4 支持 RoCE 虚拟功能链路聚合协议,它为 mlx4 设备物理端口提供故障转移和链路聚合功能。只有代表两个物理端口的 IB 端口才会公开给应用程序层。(BZ#1275423, BZ#1275187, BZ#1275209) (BZ#1275423)

支持跨通道同步

从这个更新开始,Linux 内核支持 AMD64 和 Intel 64、IBM Power Systems 和 64 位 ARM 架构上的跨通道同步。现在,设备可以在不同的工作队列中同步或序列化执行 I/O 操作,而无需从主机软件进行任何干预。(BZ#1275711)

Linux 内核中添加了对 SGI UV4 的支持

从这个更新开始,Linux 内核支持 SGI UV4 平台。(BZ#1276458)

更新对 TPM 2.0 的支持。

Linux 内核中更新了对版本 2.0 的受信任的平台模块(TPM)的支持。(BZ#1273499)

支持 12 TB RAM

在这个版本中,内核认证为支持 12 TB RAM。这个新功能涵盖了内存技术的前面,并可能满足在 Red Hat Enterprise Linux 7 生命周期中发行的未来服务器的相关要求。此功能可用于 AMD64 和 Intel 64 架构。(BZ#797488)

对 RDMA 的 10GbE RoCE Express 功能完全支持

在 Red Hat Enterprise Linux 7.3 中,通过融合以太网的 10GbE RDMA (RoCE) Express 功能被完全支持。这样便可在 IBM z 系统上使用以太网和远程直接内存访问(RDMA)以及直接访问编程库(DAPL)和 OpenFabrics Enterprise Distribution (OFED) API。
在 IBM z13 系统中使用此功能前,请确保应用最低所需的服务:z/VM APAR UM34525 和 HW ycode N98778.057 (bundle 14)。(BZ#1289933)

IBM z 系统完全支持 zEDC 压缩

Red Hat Enterprise Linux 7.3 及更新的版本为 Generic Workqueue (GenWQE)引擎设备驱动程序提供全面支持。驱动程序的初始任务是执行 zlib 样式压缩和解压缩 RFC1950、RFC1951 和 RFC1952 格式,但可以调整它来加快各种任务。(BZ#1289929)

IBM z 系统的 LPAR Watchdog

IBM z 系统的增强的 watchdog 驱动程序被完全支持。这个驱动程序支持 Linux 逻辑分区(LPAR)以及 z/VM hypervisor 中的 Linux 客户机,并在 Linux 系统变得无响应时提供自动重启和自动转储功能。(BZ#1278794)