5장. Kernel
Red Hat Enterprise Linux 7 includes the kernel version 3.10, which provides a number of new features, the most notable of which are listed below.
Dynamic kernel Patching
Red Hat Enterprise Linux 7 introduces kpatch, a dynamic "kernel patching utility", as a Technology Preview. kpatch allows users to manage a collection of binary kernel patches which can be used to dynamically patch the kernel without rebooting. Note that kpatch is supported to run on AMD64 and Intel 64 architectures only.
Support for Large crashkernel Sizes
Red Hat Enterprise Linux 7 supports the kdump crash dumping mechanism on systems with large memory (up to 3TB).
Crashkernel With More Than 1 CPU
Red Hat Enterprise Linux 7 enables booting crashkernel with more than one CPU. This function is supported as a Technology Preview.
Swap Memory Compression
Red Hat Enterprise Linux 7 introduces a new feature, swap memory compression. Swap compression is performed through zswap, a thin back end for frontswap. Utilizing the swap memory compression technology ensures a significant I/O reduction and performance gains.
NUMA-Aware Scheduling and Memory Allocation
In Red Hat Enterprise Linux 7, the kernel automatically relocates processes and memory between NUMA nodes in the same system, in order to improve performance on systems with non-uniform memory access (NUMA).
APIC Virtualization
Virtualization of Advanced Programmable Interrupt Controller (APIC) registers is supported by utilizing hardware capabilities of new processors to improve virtual machine monitor (VMM) interrupt handling.
vmcp Built in the Kernel
In Red Hat Enterprise Linux 7, the
vmcp
kernel module is built into the kernel. This ensures that the vmcp
device node is always present, and users can send IBM z/VM hypervisor control program commands without having to load the vmcp
kernel module first.
Hardware Error Reporting Mechanism
The hardware error reporting mechanisms could previously be problematic because various tools were used to collect errors from different sources with different methods, and different tools were used to report the error events. Red Hat Enterprise Linux 7 introduces Hardware Event Report Mechanism, or HERM. This new infrastructure refactors the Error Detection and Correction (EDAC) mechanism of dual in-line memory module (DIMM) error reporting and also provides new ways to gather system-reported memory errors. The error events are reported to user space in a sequential timeline and single location.
HERM in Red Hat Enterprise Linux 7 also introduces a new user space daemon,
rasdaemon
, which replaces the tools previously included in the edac-utils package. The rasdaemon
catches and handles all Reliability, Availability, and Serviceability (RAS) error events that come from the kernel tracing infrastructure, and logs them. HERM in Red Hat Enterprise Linux 7 also provides the tools to report the errors and is able to detect different types of errors such as burst and sparse errors.
Full DynTick Support
The
nohz_full
boot parameter extends the original tickless kernel feature to an additional case when the tick can be stopped, when the per-cpu nr_running=1
setting is used. That is, when there is a single runnable task on a CPU's run queue.
Blacklisting kernel Modules
The modprobe utility included with Red Hat Enterprise Linux 7 allows users to blacklist kernel modules at installation time. To globally disable autoloading of a module, use this option on the kernel command line:
modprobe.blacklist=module
For more information on kpatch, see http://rhelblog.redhat.com/2014/02/26/kpatch/.
dm-era Target
Red Hat Enterprise Linux 7 introduces the dm-era device-mapper target as a Technology Preview. dm-era keeps track of which blocks were written within a user-defined period of time called an "era". Each era target instance maintains the current era as a monotonically increasing 32-bit counter. This target enables backup software to track which blocks have changed since the last backup. It also allows for partial invalidation of the contents of a cache to restore cache coherency after rolling back to a vendor snapshot. The dm-era target is primarily expected to be paired with the dm-cache target.
Concurrent flash MCL updates
As a Technology Preview, Microcode level upgrades (MCL) have been enabled in Red Hat Enterprise Linux 7.0 on the IBM System z architecture. These upgrades can be applied without impacting I/O operations to the flash storage media and notify users of the changed flash hardware service level.
libhugetlbfs Support for IBM System z
The
libhugetlbfs
library is now supported on IBM System z architecture. The library enables transparent exploitation of large pages in C and C++ programs. Applications and middleware programs can profit from the performance benefits of large pages without changes or recompilations.
AMD Microcode and AMD Opteron Support
AMD provides microcode patch support for processors belonging to AMD processor families 10h, 11h, 12h, 14h, and 15h. Microcode patches contain fixes for processor errata, which ensures that the processor microcode patch level is at the latest level.
One single container file contains all microcode patches for AMD families 10h, 11h, 12h, 14h processors. A separate container file contains patches for AMD family 15h processors.
Note that microcode patches are not incremental, therefore, you only need to make sure you have the latest container file for your AMD processor family. To obtain these microcode patches for your AMD-based platform running Red Hat Enterprise Linux 7:
- Clone the repository with firmware files.
~]$
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
- Move the AMD microcode files into the
/lib/firmware/
directory. Asroot
:~]#
cp
-r
linux-firmware/amd-ucode/
/lib/firmware/
Available Memory for /proc/meminfo
A new entry to the
/proc/meminfo
file has been introduced to provide the MemAvailable
field. MemAvailable
provides an estimate of how much memory is available for starting new applications, without swapping. However, unlike the data provided by the Cache
or Free
fields, MemAvailable
takes into account page cache and also that not all reclaimable memory slabs will be reclaimable due to items being in use.
Open vSwitch Kernel Module
Red Hat Enterprise Linux 7 includes the Open vSwitch kernel module as an enabler for Red Hat's layered product offerings. Open vSwitch is supported only in conjunction with those products containing the accompanying user space utilities. Please note that without these required user space utilities, Open vSwitch will not function and can not be enabled for use. For more information, please refer to the following Knowledge Base article: https://access.redhat.com/knowledge/articles/270223.
Intel Ethernet Server Adapter X710/XL710 Support
Red Hat Enterprise Linux 7 adds the
i40e
and i40evf
kernel drivers, which enable support for Intel X710 and XL710 family Ethernet adapters. These drivers are provided as Technology Preview only.