Show Table of Contents
8. Kernel Updates
8.1. General Kernel Feature Support
- Asymmetric Logical Unit Access (ALUA) support in device-mapper-multipath has been updated, adding explicit ALUA support for Clariion storage. Earlier versions of Red Hat Enterprise Linux 5 added support for implicit ALUA (i.e. the operating system is not aware of which storage device paths have optimized performance and which have non-optimized performance). If the operating system consistently sends I/O on a non-optimized path, then the storage device may transparently make that path optimized, improving performance and causing idle paths to become non-optimized.Red Hat Enterprise Linux 5.4 introduces explicit ALUA support for Clariion storage (i.e. the operating system exchanges information with the storage device and is able to select the paths that have optimized performance). (BZ#482737)
- Previously, support for raw devices in the upstream kernel was deprecated. However, this support has been returned to the kernel. Consequently, in Red Hat Enterprise Linux 5.4, support for raw devices has also been returned. Additionally, the initscripts packages have been updated, adding the previously dropped functionality of raw devices.(BZ#472891)
- KVM guest-smp tlb flushing without
mmu-notifierscould corrupt memory as a KVM may add pages to the kernel freelist while anothervcpumay still be writing to them through guest mode. This update addsmmu-notifiersupport to the kernel and also corrects a bug found in an earlier patch whereinmm_structwas grown by existing drivers and caused a failed kABI check. This bug has been corrected by using an index that resides in an unused padding hole to avoid expanding the structure size.(Bugzilla #485718) - Pointer and signed arithmetic overflow wrapping has not previously been defined in the Linux kernel. This could cause GCC (GNU C Compiler) to assume that wrapping does not occur and attempt to optimize the arithmetic that the kernel may require for overflow testing. This update adds the
-fwrapvvariable to GCCCFLAGSin order to define wrapping behavior.(Bugzilla #491266) - An issue of contention between processes vying for the same memory space in high end systems was recently identified by TPC-C (Transaction Processing Council) benchmarking. This update includes
fast-guppatches which use direct IO and provide a significant (up to 9-10%) performance improvement. This update has been tested thoroughly and is used in the 5.4 kernel to improve scalability. For further information, see this article. (Bugzilla #474913) - A new tunable parameter has been added to this kernel, allowing system administrators to change the maximum number of modified pages
kupdatewrites to disk per iteration each time it runs. This new tunable/proc/sys/vm/max_writeback_pagesdefaults to1024or 4MB so that a maximum of 1024 pages get written out by each iteration ofkupdate. (Bugzilla #479079). - A new option (
CONFIG_TASK_IO_ACCOUNTING=y) has been added to kernel to assist in monitoring IO statistics per process. This assists with troubleshooting in a production environment. (Bugzilla #461636) - In previous kernels, back-up processes were deteriorating DB2 server responsiveness. This was caused by
/proc/sys/vm/dirty_ratiopreventing processes writing to pagecache memory when more than half of the unmapped pagecache memory was dirty (even ifdirty_ratiowas set to 100%). A change made in this kernel update overrides this limiting behavior. Now, when thedirty_ratiois set to 100%, the system will no longer limit writing to pagecache memory. (Bugzilla #295291) - The
rd_blocksizeoption found in the previous kernel's ramdisk driver was causing data corruption when using large ramdisks under a reasonable system load. This update removes the unnecessary option and resolves the data corruption issues. (Bugzilla #480663) - The function
getrusageis used to examine the resource usage of a process. It is useful in diagnosing problems and gathering data on resource usage. In instances where a process interrogated bygetrusagewas spawning child process threads, however, the results would be in incorrect asgetrusagewould examine only the parent process and not interrogate its children. This update implementsrusadge_threadto allow for accurate resource usage results in these instances. (Bugzilla #451063) - The header
/usr/include/linux/futex.hwould previously interfere with compiling C source code files, resulting in an error. This update includes a patch which corrects problematic kernel only definitions and resolves the compiling error. (Bugzilla #475790) - In previous kernels the kernel version was not identified in panic or oops output messages. This update adds the kernel version details to oops and panic output. (Bugzilla #484403)
- During release 2.6.18, the kernel was configured to provide kernel-headers for the package glibc. That process caused various files to be improperly marked for inclusion. The
serial_reg.hfile was incorrectly marked and not included in thekernel_headersrpm. This, in turn, caused problems with building other rpms. This update adds theserial_reg.hfile and corrects the problem. (Bugzilla #463538) - In some circumstances
upcrund, the process manager in the HP Unified Parallel C (UPC) product, returned an ESRCH result and failed when callingsetpgid()for a child process forked by a sub-thread. This update includes a patch to fix for this problem. (Bugzilla #472433) - Functionality has been added to
sysrq-tto display backtrace information about running processes. This will assist in debugging hung systems. (Bugzilla #456588)
8.1.1. Debugging
In Red Hat Enterprise Linux 5.4, debugging the kernel has been improved with added features for generating core dumps. Core dumps (memory snapshots) are useful for debugging system and kernel crashes. With this update, it is now possible to perform a core dump on systems that utilize hugepages.(BZ#470411) Additionally, kernel panic messages can now be extracted from a core dump file (vmcore) using the
makedumpfile command. (BZ#485308)
8.1.2. Security
- This update increases the maximum length of the kernel key field from the arbitrary 32 character length set in previous kernels to 255 characters. (Bugzilla #475145)
- This kernel update addresses the security concern arising from non-root users being able to create device nodes on filesystems exported using NFSD (Network File System daemon). This update returns the
CAP_MKNODandCAP_LINUX_IMMUTABLE) capabilities to the user with the FSUID of 0 in the file system mask. (Bugzilla #497272 and Bugzilla #499076) - In keeping with Federal Information Processing Standardization 140 (FIPS140) certification requirements, this update includes:
- Self-testing for;
ansi_cprng(Bugzilla #497891),ctr(aes)mode (Bugzilla #497888), Hmac-sha512 (Bugzilla #499463),rfc4309(ccm(aes)). (Bugzilla #472386), . - Code to produce a signature file that GRUB performs a checksum against during the boot process. (Bugzilla #444632)
- Code to change the DSA key from 512 bit to 1024 bit for module signing. (Bugzilla #413241)
8.2. General Platform Support
Throttling State (T-State) notification support has been added to the Advanced Configuration and Power Interface (ACPI) implementation in the kernel. Adding T-State notification enhances the use of Intel® Intelligent Power Node Manager technology for power management in data centers.(BZ#487567).
8.3. Driver Updates
8.3.1. Open Fabrics Enterprise Distribution (OFED) Drivers
The OpenFabrics Alliance Enterprise Distribution (OFED) is a collection of Infiniband and iWARP hardware diagnostic utilities, the Infiniband fabric management daemon, Infiniband/iWARP kernel module loader, and libraries and development packages for writing applications that use Remote Direct Memory Access (RDMA) technology. Red Hat Enterprise Linux uses the OFED software stack as its complete stack for Infiniband/iWARP/RDMA hardware support.
In Red Hat Enterprise Linux 5.4, the following portions of OFED have been updated to the upstream version 1.4.1-rc3
- Remote Direct Memory Access (RDMA) headers (BZ#476301)
- Reliable Datagram Sockets (RDS) protocol (BZ#477065, BZ#506907)
- Sockets Direct Protocol (SDP) (BZ#476301)
- SCSI RDMA Protocol (SRP) (BZ#476301)
Additionally, the following OFED drivers have been updated to the upstream version 1.4.1-rc3:
- The cxgb3 and iw_cxgb3 drivers for the Chelsio T3 Family of network devices (BZ#476301, BZ#504906)
- The driver for mthca-based InfiniBand HCA (Host Channel Adapter) (BZ#476301, BZ#506097)
- qlgc_vnic driver (BZ#476301)
Note
Red Hat closely tracks the upstream OFED code base in order to provide a maximal level of enablement for this still evolving technology. As a consequence, Red Hat can only preserve API/ABI compatibility across minor releases to the degree that the upstream project does. This is an exception from the general practice in the development of Red Hat Enterprise Linux.
8.3.2. General Driver Updates
- The
i5400driver for Intel 5400 class Memory Controllers has been updated with added support for Error Detection And Correction (EDAC). (BZ#462895) - the
i2cdriver for the iic-bus interface has been updated, adding support for the AMD SB800 Family of products. - The
i2c-piix4driver has been updated with support for the Broadcom HT1100 chipset. (BZ#474240) - The hpilo driver has been updated.(BZ#488964).
- The
dm9601for Davicom Ethernet Adaptors has been updated.
8.3.3. Network Driver Updates
- Red Hat is no longer able to responsibly support the
ipw3945wireless laptop network driver to the full levels of service, as the upstream company responsible for that driver has suspended maintenance efforts on the driver.Red Hat, following the guidance of the company responsible for the driver has migrated over to theiwl3945driver (first introduced in Red Hat Enterprise Linux 5.3). Ongoing maintenance of driver issues associated with the 3945 hardware will be provided on theiwl3945driver. All fresh/full installations of Red Hat Enterprise Linux 5.4 on systems with 3945 hardware will install the iwl3945 driver.Red Hat continues to provide theipw3945driver in Red Hat Enterprise Linux 5.4 as a migration convenience. It is recommended that customers transition to theiwl3945driver. Refer to the Red Hat Knowledgebase for details on how to transition if you are doing an update install from a system that had its full installation prior to Red Hat Enterprise Linux 5.4.Customers who report issues with theipw3945driver may be referred to migrate to theiwl3945driver for resolution. For example, there are known issues connecting to VPN concentrators present in theipw3945driver which are resolved in theiwl3945driver.Note
the use of the iwl3945 driver requires installing theiwl3945-firmwarepackage from the supplementary RHN channel. Package version 15.28.2.8-2 or later is required. (ieiwl3945-firmware-15.28.2.8-2or later)Additionally, the device name, for example as it appears in the output of the`ifconfig`command appears as eth0 (or eth1) when using theipw3945driver, when using the iwl3945 driver it is identified as wlan0. - the bonding driver has been updated to the latest upstream version. This update, however has introduced symbol/ipv6 module dependency capabilities. Therefore, if IPv6 has been previously disabled (by inserting the
install ipv6 /bin/falseline in the/etc/modprobe.conffile) an upgrade to the bonding driver in 5.4 will result in the bonding kernel module failing to load. Theinstall ipv6 /bin/falseline needs to be replaced withoptions ipv6 "disable=1for the module to load properly. - The drivers in the kernel for Intel® I/O Acceleration Technology (Intel® I/OAT) have been updated to version 2.6.24.(BZ#436048).
- the
igbdriver for Intel® Gigabit Ethernet Adapters has been updated to version 1.3.16-k2. This update also enables GRO support for theigbdriver. (BZ#484102, BZ#474881, BZ#499347). - The
igbvfdriver has been updated, providing Virtual Function support for Intel 82576 Gigabit Ethernet Controllers. (BZ#480524) - the
ixgbedriver for Intel 10 Gigabit PBetaCI Express network devices has been updated to version 2.0.8-k2. This update also enables GRO support for theixgbedriver. (BZ#472547, BZ#499347). - The
bnx2driver for Broadcom NetXtreme II network devices has been updated to version 1.9.3 (BZ#475567 BZ#476897 BZ#489519) - The
tg3driver for Broadcom Tigon3 ethernet devices has been updated to version 3.96. (BZ#481715, BZ#469772). This driver update adds support for 5785F and 50610M devices. (BZ#506205) - The
cnicdriver has been added, providing Internet Small Computer System Interface (iSCSI) support forbnx2network devices. (BZ#441979). - The
bnx2xdriver for Broadcom Everest network devices has been updated to version 1.48.105.(BZ#475481). - The cxgb3 driver for the Chelsio T3 Family of network devices has been updated, enabling iSCSI TCP Offload Engines (TOE) and Generic Receive Offload (GRO) support. (BZ#439518, BZ#499347)
- The
forcedethethernet driver for NVIDIA nForce devices has been updated to version 0.62. (BZ#479740). - The sky2 driver for ethernet controllers using the Marvell Yukon 2 chipset has been updated. (BZ#484712).
- The enic driver for Cisco 10G ethernet devices has been updated to version 1.0.0.933. (BZ#484824)
- The e1000e driver for Intel PRO/1000 ethernet devices has been updated to the upstream version 1.0.2-k2. (BZ#480241)
- The be2net driver for Emulex Tiger Shark converged network adapters has been added as a Technology Preview.
8.3.4. Storage Driver Updates
- The
bnx2driver now supports iSCSI. Thebnx2idriver will access thebnx2driver through thecnicmodule to provide iSCSI offload support. To managebnx2i, use theiscsi-initiator-utilspackage. For instructions onbnx2iconfiguration, please refer to section 5.1.2 of the/usr/share/docs/iscsi-initiator-utils-<version>/READMEfile. (BZ#441979 and BZ#441979)Note that thebnx2iversion included in this release does not support IPv6. - The
mddriver has been updated to provide support for bitmap merging. This feature eliminates the need for full resync when performing data replication. (BZ#481226) - The
scsilayer in this release features the following updates:- The
scsidriver now includes the upstreamscsi_dh_aluamodule. This adds explicit asymmetric logical unit access (ALUA) support with this release. To utilize thescsi_dh_aluamodule when usingdm-multipath, specifyaluaas thehardware_handlertype inmultipah.conf. (BZ#482737)Note that for EMC Clariion devices, using onlyscsi_dh_aluaordm-emcalone is supported. Using bothscsi_dh_aluaanddm-emcis not supported. - The
rdac_dev_liststructure now includesmd3000andmd3000ientries. This allows users to benefit from the advantages provided by theiscsi_dh_rdacmodule. (BZ#487293) - A bug that caused iSCSI iBFT installations to panic during disk formatting is now fixed. (BZ#436791)
- A bug in the
iscsi_r2t_rspstructthat caused kernel panics during iSCSI failovers in some multipathed environments is now fixed. (BZ#484455)
- The
cxgb3driver has been updated to apply several upstream fixes and provide support for iSCSI TOE devices. (BZ#439518)Note that thecxgb3iversion included in this release does not support IPv6. - This release includes the new
mpt2sasdriver. This driver supports the SAS-2 family of adapters from LSI Logic. SAS-2 increases the maximum data transfer rate from 3Gb/s to 6Gb/s.Thempt2sasdriver is located in thedrivers/scsi/mpt2sasdirectory, as opposed to the oldermptdrivers that are located indrivers/message/fusiondirectory. (BZ#475665) - The
aacraiddriver has now been updated to version 1.1.5-2461. This update applies several upstream fixes for bugs affecting queued scans, controller boot problems, and other issues. (BZ#475559) - The
aic7xxxdriver now features an increased maximum I/O size. This allows supported devices (such as SCSI tape devices) to perform writes with larger buffers. - The
ccissdriver has been updated to apply upstream fixes for bugs affecting memory BAR discovery, therebuild_lun_tableand the MSA2012 scan thread. This update also applies several configuration changes tocciss. - The
fnicdriver has been updated to version 1.0.0.1039. This applies several upstream bug fixes, updates thelibfcandfcoemodules, and adds a new module parameter that controls debug logging at runtime. (BZ#484438) - The
iprdriver now supports MSI-X interrupts. (BZ#475717) - The
lpfcdriver has been updated to version 8.2.0.48. This enables hardware support for upcoming OEM programs. In addition, this update also applies the following bug fixes (among others):(BZ#476738 and BZ#509010)- Virtualized fibre-channel switches are now supported.
- Polling for error attention interrupts are now available.
- A bug that caused memory leaks in
vport createanddelete loopis now resolved.
- The
MPT fusiondriver is now updated to version 3.04.07rh v2. This applies several bug fixes, including: (BZ#475455)- An
MPT fusiondriver bug that prevented the system from booting with the PAE kernel is now fixed. - Controllers are now set to
READY_STATEwhen the driver unloads. - The
mptsasdriver now issuesTUR(Test Unit Ready) andReport LUNcommands before adding a device to the transport layer.
In addition, a patch that unexpectedly causedmptctl_ioctl()to issue numerous yet benign kernel error messages is now reverted. With this release,mptctl_ioctl()no longer issues these kernel error messages. - The
megaraid_sasdriver is now updated to version 4.08-RH1. This update applies the following upstream enhancements and fixes (among others):(BZ#475574)- This upate adds a polling mode to the driver.
- A bug affecting supported tape drives is now fixed. With this release, the
pthrutimeout value is now set to the O/S layer timeout value for commands sent to tape drives.
- The
mvsasdriver is now updated to version 0.5.4. This applies several fixes and enhancements from upstream, and adds support for Marvell RAID bus controllers MV64460, MV64461, and MV64462. (BZ#485126) - The
qla2xxxdriver has been updated to version 8.03.00.10.05.04-k, and now supports Fibre Channel over Convergence Enhanced Ethernet adapters. With this release,qla2xxxalso applies several bug fixes from upstream, including: (BZ#471900, BZ#480204, BZ#495092, and BZ#495094)- Discrepancies detected during
OVERRUNhandling on 4GB and 8GB adapters are now corrected. - All
vportsare now alerted of any asynchronous events. - A bug that caused kernel panics with the QLogic 2472 card is now fixed.
- The
stop_firmwarecommand is no longer retried if the first attempt results in a times out. - The sector mask value is no longer based on the fixed
optromsize. - A bug that caused frequent path failures during I/O on multipathed devices is now fixed. (BZ#244967)
- The driver source code is now kABI-compliant.
dcbxpointers are now set toNULLafter freeing memory.
In addition to these updates, theqla24xxandqla25xxfirmwares included in theqla2xxxdriver are now updated to version 4.04.09. - The
qla4xxxdriver now features improved driver fault recovery. This update fixes a bug in the driver that prevented adapter recovery if there were outstanding commands detected on the host adapter. (BZ#497478) - This release includes the new
qlgedriver. This driver adds ethernet support for QLogic FCoE 10GB adapters. (BZ#479288)

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.