第 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
子系统提供的 ioctl
和 sysfs
入口点的集合。该程序库为启用了 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 白名单中
在这个版本中,属于
libfc
和 libfcoe
内核模块的符号列表已添加到内核应用程序二进制接口(KABI)白名单中。这样可确保以太网光纤通道(FCoE)驱动程序(依赖于 libfc
和 libfcoe
)可以安全地使用新添加的符号。(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 合并
mpt2sas
和 mpt3sas
驱动程序的源代码已合并。与上游不同,为了兼容的原因,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 选项。- reboot、poweroff 和 halt 命令现在可以在
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> ...] 配置文件指令。如果您使用新选项或指令,则会安装这些文件(如果文件存在),如果不存在,则不会返回错误。
支持 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 添加到
cxgb4
和 cxgb4vf
驱动程序中。(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)
mlx4
和 mlx5
现在支持 RoCE
这个版本添加了对 Remote Direct Memory Access Over Converged Ethernet (RoCE)网络协议时间到
mlx4
和 mlx5
驱动程序的支持。RoCE 是一种通过远程直接内存访问(RDMA)提供高效服务器到服务器数据传输的机制,在无丢失以太网网络中非常低延迟。RoCE 封装了两个以太网数据包之一中的 InfiniBand (IB)传输: - RoCEv1 - 专用 ether 类型(0x8915)- RoCEv2 - 用户数据报协议(UDP)和专用 UDP 端口(4791)。
现在,
mlx4
和 mlx5
支持 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)