Red Hat Training

A Red Hat training course is available for Red Hat Linux

Chapter 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:
  1. Clone the repository with firmware files.
    ~]$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
  2. Move the AMD microcode files into the /lib/firmware/ directory. As root:
    ~]# 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.