This release applies following kernel bug fixes:
Executing binaries with more than 2GB of debug information no longer fails.
When shutting down a database, all allocated hugepages are now released upon shutdown.
invalidate_mapping_pages() calls no longer cause soft lockups.
A bug that delayed oomkill from launching in a timely fashion (on systems with large memory) is now fixed.
A bug that caused soft lockup warnings when allocating memory on a system with large memory is now fixed.
32-bit NFS clients can now correctly process 64-bit inode numbers.
The kernel now asserts Data Terminal Ready (DTR) signals before printing to serial ports during boot time. DTR assertion is required by some devices. Kernel boot messages are now printed to serial consoles on such devices.
The kernel parameter ide0=noprobe no longer causes a kernel panic.
This kernel update also features the following enhancements:
Added a new kernel parameter: /proc/sys/vm/flush_mmap_pages. This parameter specifies whether or not memory-mapped file pages should be flushed to disk by kupdate while the memory map is active. Valid values for this parameter are 1 (enable memory mapping by kupdate) and 0 (disable memory mapping by kupdate). The default value for this parameter is 1.
To configure this parameter, use echo . Setting this parameter to [1 or 0] /proc/sys/vm/flush_mmap_pages0 does the following:
kupdate will not flush dirty memory-mapped file pages as long as the memory map is active.
All dirty file pages will be asynchronously flushed to disk only as soon as the memory map is deactivated.
If you set /proc/sys/vm/flush_mmap_pages to 0, it is advisable that you use another application to manually sync memory-mapped pages to disk.
Added a new kernel parameter: /proc/sys/kernel/sched_interactivity. This parameter allows you to tune the CPU scheduler's interactivity estimator. The interactivity estimator allows interactive processes to acquire more CPU time without causing CPU starvation in other processes.
To configure this parameter, use echo , where [interactivity_level] > /proc/sys/kernel/sched_interactivity can be any of the following:
[interactivity_level]
2 — interactivity estimator is fully activated.
1 — provides a weaker affinity to interactive processes than 2, but avoids CPU starvation under certain scheduling patterns.
0 — any bias or affinity towards interactive processes is disabled.
kprobe now supports kretprobe_blacklist[].
Core dump masking is now supported. This allows a core dump process to skip the shared memory segments of a process when creating a core dump file. This feature also allows you to select whether or not to dump anonymous shared memory for each process.
When a process is dumped, all anonymous memory is written to a core file as long as the size of the core file isn't limited. In some cases, you may want to prevent some memory segments (such as huge shared memory) from being dumped. Conversely, you may also want to save file-backed memory segments into a core file, in addition to individual files.
For these purposes, you can use /proc/ to specify which memory segments of the [pid]/coredump_filter[pid] process is dumped. coredump_filter is a bitmask of memory types. If a bitmask is set, memory segments of the corresponding memory type are dumped.
The following memory types are supported:
0x0 — anonymous private memory
0x1 — anonymous shared memory
0x2 — file-backed private memory
0x3 — file-backed shared memory
To set a bitmask for [pid], simply echo the corresponding bitmask to /proc/. For example, to prevent a dump of all shared memory segments attached to process 1111, use:
[pid]/coredump_filter
echo 0x1 > /proc/1111/coredump_filter
The default value of coredump_filter is 0x3, which specifies that all anonymous memory segments are dumped. Also, note that regardless of the bitmask status, MMIO pages (such as frame buffers) are never dumped and vDSO pages are always dumped
When a new process is created, the process inherits the bitmask status from its parent. As such, Red Hat recommends that you set up coredump_filter before the program runs. To do so, echo the desired bitmask to /proc/self/coredump_filter before running the program.
audit can now trace and display per-session user activity.
REV UDF file sizes larger than 1GB are now supported.
Lock contention tracing and lockdep are now supported. These features provide in-depth information about spinlocks held in the kernel, which in turn help developers in driver debugging.
In addition to these, this release also features the following kernel updates:
The enumeration order of PCI devices has changed on several platforms to have NICs appear in the order they are labeled on the chassis and how the BIOS numbers them. The affected platforms are as follows:
Dell PowerEdge R900
HP ProLiant DL385 G2
HP ProLiant DL585 G2
HP Proliant DL580 G5
Note that this change affects new installations only. If you prefer the old enumeration order, use the kernel parameter pci=nobfsort.
You can now determine the resource limit (rlimit) of a process. To do so, run cat /proc/.
[pid]/limits
The maximum soft lockup timeout is now increased from 60 seconds to 300 seconds for systems that have a large number of CPUs. A soft lockup occurs when a CPU reports a memory starvation while it is unable to access a memory node accessed by other CPUs.
In this release, you can also adjust the trigger limit for soft lockup warnings. To do so, use the following command (as root):
echo
[time] > /proc/sys/kernel/softlockup_thresh
Replace with the desired number of seconds before a soft lockup warning should be triggered. By default, this value is set to 10 (seconds).
[time]
show_mem() output now includes the total number of pagecache pages.
MSI-X is no longer enabled by default. To enable MSI-X, use the kernel module parameter ql2xenablemsix.