Chapter 1. Kernel

The kernel shipped in Red Hat Enterprise Linux 6.3 includes several hundred bug fixes for, and enhancements to, the Linux kernel. For details concerning every bug fixed and every enhancement added to the kernel for this release, refer to the kernel section of the Red Hat Enterprise Linux 6.3 Technical Notes.
Thin-provisioning and scalable snapshot capabilities

The dm-thinp targets, thin and thin-pool, provide a device-mapper device with thin-provisioning and scalable snapshot capabilities. This feature is available as a Technology Preview. For more information on the newly-introduced LVM thin provisioning, refer to Chapter 9, Storage.

sysfs mbox interface deprecated

The lpfc driver is deprecating the sysfs mbox interface as it is no longer used by the Emulex tools. Read and write operations are now stubbed out and only return the -EPERM (Operation not permitted) symbol.

Supported Kdump targets

For a complete list of supported Kdump targets (that is, targets that kdump can use to dump a vmcore to), refer to the following Kbase article: https://access.redhat.com/knowledge/articles/41534.

Support for additional mount options

Red Hat Enterprise Linux 6.3 adds support for mount options to restrict access to /proc/<PID>/ directories. One of the new options is called hidepid= and its value defines how much information about processes is provided to non-owners. The gid= option defines a group that gathers information about all processes. Untrusted users, which are not supposed to monitor tasks in the whole system, should not be added to the group.

O_DIRECT flag support

Support for the O_DIRECT flag for files in FUSE (File system in Userspace) has been added. This flag minimizes cache effects of the I/O to and from a file. In general, using this flag degrades performance, but it is useful in special situations, such as when applications do their own caching.

CONFIG_STRICT_DEVMEM enabled on PowerPC

In Red Hat Enterprise Linux 6.3, the CONFIG_STRICT_DEVMEM configuration option is enabled by default for the PowerPC architecture. This option restricts access to the /dev/mem device. If this option is disabled, userspace access to all memory is allowed, including kernel and userspace memory, and accidental memory (write) access could potentially be harmful.

CONFIG_HPET_MMAP enabled

In Red Hat Enterprise Linux 6.3, the high-resolution timer's capacity to remap the HPET registers into the memory of a user process has been enabled.

Improved performance on large systems

A number of patches have been applied to the kernel in Red Hat Enterprise Linux 6.3 to improve overall performance and reduce boot time on extremely large systems (patches were tested on a system with 2048 cores and 16 TB of memory).

rdrand kernel support

The Intel Core i5 and i7 processors (formerly code-named Ivy Bridge) support a new rdrand instruction to quickly generate random numbers. The kernel shipped in Red Hat Enterprise Linux 6.3 utilizes this instruction to provide quick random number generation.

UEFI support for persistent storage

Persistent storage (pstore), a file system interface for platform dependent persistent storage, now supports UEFI.

CPU family specific container files

Support for CPU family specific container files has been added. Starting with AMD family 15h processors, a container such as microcode_amd_fam15h.bin is now loaded for the aforementioned family of processors.

USB 3.0 support

Red Hat Enterprise Linux 6.3 includes full USB 3.0 support.

kdump/kexec kernel dumping mechanism for IBM System z

In Red Hat Enterprise Linux 6.3, the kdump/kexec kernel dumping mechanism is enabled for IBM System z systems as a Technology Preview, in addition to the IBM System z stand-alone and hypervisor dumping mechanism. The auto-reserve threshold is set at 4 GB; therefore, any IBM System z system with more than 4 GB of memory has the kexec/kdump mechanism enabled.

Sufficient memory must be available because kdump reserves approximately 128 MB as default. This is especially important when performing an upgrade to Red Hat Enterprise Linux 6.3. Sufficient disk space must also be available for storing the dump in case of a system crash. Kdump is limited to DASD or QETH networks as dump devices until kdump on SCSI disk is supported.
The following warning message may appear when kdump is initialized:
..no such file or directory
This message does not impact the dump functionality and can be ignored. You can configure or disable kdump via /etc/kdump.conf, system-config-kdump, or firstboot.
Module-accessible interface for ftrace

The ftrace function tracer now allows modules and all users to make use of the ftrace function tracing utility. For more information, refer to the following man pages:

man trace-cmd-record
man trace-cmd-stack
Tracing of multi-threaded processes

When tracing processes with more than one thread, the ltrace utility would neglect to trace threads other than the main thread. But because threads share address space, those other threads would still see breakpoints distributed by ltrace. Consequently, those threads would be killed by a SIGTRAP signal. Red Hat Enterprise Linux 6.3 includes thread-awareness and breakpoint handling mechanisms. Support for tracing of multi-threaded processes is now on par with tracing single-threaded process.

Cross Memory Attach

Cross Memory Attach provides a mechanism to reduce the number of data copies needed for intra-node inter-process communication. In particular, this allows MPI libraries doing intra-node communication to do a single copy of the message rather than a double copy of the message via shared memory. This technique has been employed in the past through multiple, unique driver-based implementations. The implementation introduced in Red Hat Enterprise Linux 6.3 provides a general solution for this functionality. In addition, it provides a layer of abstraction for device driver writers who wish to exploit these functions without having to modify their corresponding implementations when there are changes in the memory management subsystem.

Spinning mutex performance enhancement for IBM System z

Red Hat Enterprise Linux 6.3 enhances the usage of mutexes. Additional information provided to the scheduler allows for more efficient and less costly decisions when optimizing processor cycles depending on the usage of mutexes, thread scheduling, and the status of the physical and virtual processors. The status of a thread owning a locked mutex is examined and waiting threads are not scheduled unless the first thread is scheduled on both a virtual and a physical processor.

Enhanced DASD statistics for PAV and HPF for IBM System z

Red Hat Enterprise Linux 6.3 enables improved diagnosis of PAV (Parallel Access Volume) and HPF (High Performance Ficon) environments to analyze and tune the DASD performance on a system, for example, to give recommendations regarding the number of alias devices or the usage of PAV versus HyperPAV.

OSA concurrent software/hardware trap for IBM System z

With Red Hat Enterprise Linux 6.3, collective problem analysis through consolidated dumps of software and hardware is enabled. A command can be used to generate qeth or qdio trace data and to trigger the internal dump of an OSA device.

Added ability to switch between two graphics cards

The CONFIG_VGA_SWITCHEROO configuration option is now enabled by default to allow switching between two graphics cards.

KEXEC_AUTO_THRESHOLD lowered to 2 GB

With Red Hat Enterprise Linux 6.3, the crashkernel=auto parameter changed the default kdump enabling threshold from 4 GB to 2 GB. This means that any machine that has 2 GB (or more) of memory will have the kdump feature enabled on its systems.

Available memory in the system is rounded up to 128 MB when calculating the 2 GB threshold for deciding whether to enable kdump or not. If a system has 1920 MB (2G-128M) RAM available, kdump is enabled.
Run the following commands if you wish to disable kdump (for example, due to memory constraints):
  1. To stop the kdump service, execute the following command:
    ~]# service kdump stop
  2. To disable the kdump service, execute the following command:
    ~]# chkconfig kdump off
  3. To return memory previously reserved for kdump back to the system, execute the following command:
    ~]# echo 0 > /sys/kernel/kexec_crash_size