第 9 章 编译程序及工具

System z 二进制文件中的 Linux 热补支持

GNU 编译器集合(GCC)支持为 System z 二进制文件提供多线程代码补丁。使用 "function attribute" 可为热补选择具体功能,使用 -mhotpatch 命令行选项启用所有功能的热补。
启用热补对软件大小和性能有负面影响。因此建议为具体功能使用热补,而不是为所有功能都提供热补服务。
System z 二进制文件中的 Linux 热补支持在 Red Hat Enterprise Linux 7.0 为技术预览。目前在 Red Hat Enterprise Linux 7.1 发行本中提供全面支持。

性能程序编程界面(Performance Application Programming Interface )改进

Red Hat Enterprise Linux 7 包括 Performance Application Programming InterfacePAPI)。PAPI 是现代微处理器中硬件性能计数器的跨平台接口规格。这些计数器是一小组暂存器,可统计与具体处理器功能关联信号同时出现的事件。监控这些事件可在不同方面帮助分析和调整应用程序性能。
在 Red Hat Enterprise Linux 7.1; 中改进了 PAPI 及相关 libpfm 库,并提供对 IBM Power 8、Applied Micro X-Gene、ARM Cortex A57 和 ARM Cortex A53 处理器的支持。另外,还为 Intel Xeon、Intel Xeon 2 及 Intel Xeon 3 处理器更新了这些事件集合。

OProfile

OProfile 是用于 Linux 系统的系统范围配置收集程序。在后端以透明方式收集配置信息,并可随时收集配置数据。在 Red Hat Enterprise Linux 7.1 中改进了 OProfile,提供对以下处理器产品线的支持:Intel Atom Processor C2XXX、第五代 Intel Core 处理器、IBM POWER8、ppliedMicro X-Gene 和 ARM Cortex A57。

OpenJDK8

Red Hat Enterprise Linux 7.1 现在全面支持 java-1.8.0-openjdk 软件包,该软件包包含 Open Java Development Kit(OpenJDK)的最新版本 OpenJDK8。这些软件包可全面兼容 Java SE 8 及现有 java-1.7.0-openjdk 软件包,在 Red Hat Enterprise Linux 7.1 中仍保留了后者。
Java 8 带来了大量的新改进,比如 Lambda 表达式、默认方法、用于集合的新 Stream API、JDBC 4.2、硬件 AES 支持等等。此外,OpenJDK8 还包含大量其他性能更新和 bug 修复。

使用 sosreporot 替换 snap

powerpc-utils 软件包中删除已弃用的 snap 工具,将其功能整合到 sosreport 工具中。

Little-Endian 64-位 PowerPC 的 GDB 支持

Red Hat Enterprise Linux 7.1 在 GNU Debugger(GDB)中支持 64-位 PowerPC little-endian 架构。

Tuna 改进

Tuna 是可用来调整调度程序可调整元素的工具,比如调度程序策略、RT 优先权和 CPU 亲和性。在 Red Hat Enterprise Linux 7.1 中改进了 Tuna GUI,启动该界面需要提供 root 授权,这样用户必须作为 root 运行桌面系统方可调用 Tuna GUI。

将 crash 软件包移动到 Debugging 工具中

从 Red Hat Enterprise Linux 7.1 开始,crash 软件包不再是 abrt 软件包的相依性软件包。因此从 Red Hat Enterprise Linux 7 默认安装中删除了 crash 软件包,以便保证最小安装。现在用户必须在 Anaconda 安装程序 GUI 中为要安装的 crash 软件包选择 Debugging 工具 选项。

准确的 ethtool 输出结果

作为技术预览,在用于 IBM System z 的 Red Hat Enterprise Linux 7.1 中加强了 ethtool 程序的网络查询功能。结果是在使用与改进查询功能兼容的硬件时,ethtool 现在可提供改进的监控选项,并可更准确地显示网卡设置及参数值。

事务性同步扩展注意事项

Intel 已发布有关事务性同步扩展(Transactional Synchronization Extension,TSX)指令的勘误 HSW136。在某些情况下,使用 Intel TSX 指令的软件可能会造成意外行为。TSX 指令可能会由使用 Red Hat Enterprise Linux 7.1 GCC 在某些条件下构建的应用程序运行。其中包括在弃用 TSX 指令的硬件中执行使用 GCC 的实验性事务内存支持(-fgnu-tm)。建议 Red Hat Enterprise Linux 7.1 用户在这种情况下测试事务内存时要格外小心,也可以通过使用适当的硬件或更新固件禁用 TSX 指令。