Chapter 1 New Features and Changes

The Unbreakable Enterprise Kernel Release 4 (UEK R4) is Oracle's fourth major release of its heavily tested and optimized operating system kernel for Oracle Linux 6 Update 7 or later, and Oracle Linux 7 Update 1 or later, on the x86-64 architecture. It is based on the mainline Linux kernel version 4.1.12.

The 4.1.12-61.1.6 release is the second update release for UEK R4. It includes security and bug fixes, as well as driver updates. This kernel has been tested within environments running the latest available Oracle Linux releases: Oracle Linux 6 Update 8 and Oracle Linux 7 Update 2.

Oracle actively monitors upstream checkins and applies critical bug and security fixes to UEK R4.

UEK R4 uses the same versioning model as the mainline Linux kernel version. It is possible that some applications might not understand the 4.1 versioning scheme. However, regular Linux applications are usually neither aware of nor affected by Linux kernel version numbers.

1.1 Notable Changes

  • Ceph is no longer under technology preview.  Ceph presents a uniform view of object and block storage from a cluster of multiple physical and logical commodity-hardware storage devices. Ceph can provide fault tolerance and enhance I/O performance by replicating and striping data across the storage devices in a Storage Cluster. Ceph's monitoring and self-repair features minimize administration overhead. You can configure a Storage Cluster on non-identical hardware from different manufacturers. Ceph for Oracle Linux is based on the Ceph Community Jewel release (v10.2.2). It includes the Object Store, Block Device, Storage Cluster, and Object Gateway components of Ceph. For more information, see the Ceph Storage for Oracle Linux Release 2.0 Release Notes.

  • sif driver 1.0.0.1 added.  The sif (Scalable Interface) driver module that enables PCIe-based Infiniband HCAs (Host Channel Adapter), such as the Oracle Dual-port QDR IB Adapter M4 and the Oracle Dual-port EDR IB Adapter, has been added in this update.

  • qed and qede 8.7.1.20 drivers added.  The qed and qede driver modules that enable QLogic FastLinQ 4xxxx Ethernet devices, have been added in this update.

  • bnxt_en driver 1.2.0 added.  The bnxt_en driver module that enables Broadcom BCM573xx network devices, has been added in this update.

  • RDS performance enhancements and bug fixes.  A large number of performance enhancements and bug fixes have been included in this release for RDS (Reliable Datagram Sockets). Of particular note are the following fixes and enhancements:

    • Enhancement patches have been applied for RDS to support the larger message size catered for by Infiniband. This change improves RDS performance over Infiniband transport by increasing the RDS fragment size while maintaining backward compatibility for previous RDS versions.

    • Performance improvements were made to the rds_fmr_flush workqueue to take advantage of targeted CPU scheduling on NUMA-aware systems.

    • Old code and unused features within the code were removed to ease the maintenance burden, tighten up the code and improve code security.

    • Several patches were merged into the code to improve diagnostics and supportability.

    • Improvements were made to the RDS code for better compatibility with Infiniband HCA drivers.

  • Important NVMe driver updates were applied and tested.  The Non-Volatile Memory Express driver was updated and patched with many new fixes that were of particular interest to existing Oracle customers. Several rigorous tests were run against the updated driver.

  • DTrace enhancement to export perf_events tracepoints as SDT probes.  Upstream Linux perf_events tracepoints are now automatically exported as SDT probes for DTrace.

1.2 Xen Improvements

A number of bug fixes and security fixes have been backported for this release to include the features available in Xen 4.4, Xen 4.5 and Xen 4.6.

A fix was applied to improve the code that handled cycling through the E820 map sent to the bootloader by the BIOS during boot. This fix resolved a potential mismatch error that resulted in a Dom0 kernel crash during boot on some systems.

A new feature allowing the dynamic configuration of VBD (Virtual Block Device) I/O buffers has been applied to allow for better performance tuning per virtual block device, depending on specific application requirements. The values for these buffer configuration settings are available in /sys/devices/vbd-xxx/max_indirect_segs, /sys/devices/vbd-xxx/max_ring_page_order and /sys/devices/vbd-xxx/max_queues.

1.3 btrfs Improvements

  • Improvements to extent accounting.  Extent accounting has been improved to provide fixes for a number of bugs. Improvements have also been made to handle scenarios where there is no disk space, but an rm operation is in action to free up disk space.

  • fsync issues fixed.  A fix was applied to correct an issue that could corrupt the filesystem after a hard link was removed and fsync was called. Another fix was applied to prevent a potential data loss issue that could result through calling fsync after an inode was renamed to match a removed inode and a power outage occurred. .

  • Infinite loop during an incremental send fixed.  A fix was applied to correct an ENOMEM error that resulted from an infinite loop when building path strings during an incremental send. This issue was resolved by applying a patch that checked if an orphanized directory inode rename required delay.

  • Improvements to transaction handling for hard and symbolic links.  Fixes were applied to improve transaction handling for the creation of hard and symbolic links. One of these fixes resolved a memory leak that could occur when creating a hard link.

1.4 Driver Updates

The Unbreakable Enterprise Kernel supports a wide range of hardware and devices. In close cooperation with hardware and storage vendors, several device drivers have been updated or added by Oracle.

Table 1.1 Updated Drivers in UEK R4 U2

Driver

Version

Description

aacraid

1.2-1[40709]-ms + Patches

Adaptec Advanced Raid Products

be2iscsi

11.0.0.0

Broadcom/Avago OneConnect Open-iSCSI Driver

be2net

11.0.0.0 + Patches

Broadcom/Emulex OneConnect 10Gbps NIC Driver

bfa

3.2.25.0

QLogic BR-series Fibre Channel HBA Driver

bnx2x

1.713.10

QLogic BCM57710 / 57711 / 57711E / 57712 / 57712_MF / 57800 / 57800_MF / 57810 / 57810_MF / 57840 / 57840_MF Driver

bnxt_en

1.2.0

Broadcom BCM573xx network driver

bonding

3.7.1 + Patches

Ethernet Channel Bonding Driver

fnic

1.6.0.24 + Patches

Cisco FCoE HBA Driver

hpsa

3.4.16-0

PMC-Sierra Driver for HP Smart Array Controller

i40e

1.5.16-k

Intel(R) Ethernet Connection XL710 Network Driver

i40evf

1.5.10-k

Intel(R) XL710 X710 Virtual Function Network Driver

ixgbe

4.4.0-k

Intel(R) 10 Gigabit PCI Express Network Driver

ixgbevf

2.12.1-k + Patches

Intel(R) 82599 Virtual Function Driver

lpfc

11.1.0.4

Broadcom/Emulex LightPulse Fibre Channel SCSI driver

mpt3sas

13.100.00.00

LSI MPT Fusion SAS 3.0 Device Driver

nvme

1.0 + Patches

Non-Volatile Memory Express Driver (Fultondale)

qed

qede

8.7.1.20

QLogic FastLinQ 4xxxx Ethernet Driver and Core Module

qla2xxx

8.07.00.38.40.0-k

QLogic Fibre Channel HBA Driver

qlcnic

5.3.64

QLogic 1/10 GbE Converged/Intelligent Ethernet Driver

sif

1.0.0.1

Oracle SIF Infiniband HCA driver

tg3

3.137 + Patches

Broadcom Tigon3 Ethernet driver

vmw_vsock_vmci_transport

1.0.4.0-k

VMCI transport for Virtual Sockets

vmxnet3

1.4.7.0-k

VMware vmxnet3 virtual NIC driver

xen-blkback

xen-blkfront

xen-netback

xen-netfront

Upstream Patches

Xen Virtual Block Device and Xen Virtual Network Device drivers

xscore

6.0.r8020

Xsigo Oracle Virtual Network core driver

xsvhba

6.0.r8020

Xsigo Oracle Virtual Network VHBA driver

xsvnic

6.0.r8020

Xsigo Oracle Virtual Network XSVNIC network driver

xve

6.0.r8020

Xsigo Oracle Virtual Network Virtual Ethernet driver


Some InfinBand drivers are patched with bug fixes and minor enhancements in this release.

Additional Notes For Driver Updates

The following notes are included at the request of a vendor for the listed driver:

  • lpfc: Locked optics support is enabled for LPE32000 HBAs and all variant HBAs of this architecture. With this capability, these HBAs will detect and enable both Avago or Emulex certified SFP and QSFP optics.

    For driver rev 11.0.0.13 and higher unqualified optics will be disabled, the link will not come up, an error message is written to the log file and the lpfc driver will display this message:

    3176 Port Name [wwpn] Unqualified optics - Replace with Avago optics for Warranty and Technical support
  • mpt3sas: The mpt2sas driver has been merged with the mpt3sas driver to provide a single driver module that supports both SAS 2.0 and SAS 3.0 HBAs. Changes have been applied to dracut to correctly handle the module aliases for the migration to a single driver module.

1.5 Technology Preview

The following features included in the Unbreakable Enterprise Kernel Release 4 are still under development, but are made available for testing and evaluation purposes.

  • Ceph File System

    The Ceph File System (CephFS) feature of Ceph is in technology preview.

  • DCTCP (Data Center TCP)

    DCTCP enhances congestion control by making use of the Explicit Congestion Notification (ECN) feature of state-of-the-art network switches. DCTCP reduces buffer occupancy and improves throughput by allowing a system to react more intelligently to congestion than is possible using TCP.

  • DRBD (Distributed Replicated Block Device)

    A shared-nothing, synchronously replicated block device (RAID1 over network), designed to serve as a building block for high availability (HA) clusters. It requires a cluster manager (for example, pacemaker) for automatic failover.

  • Kernel module signing facility

    Applies cryptographic signature checking to modules on module load, checking the signature against a ring of public keys compiled into the kernel. GPG is used to do the cryptographic work and determines the format of the signature and key data.

  • NFS over RDMA interoperation with ZFS and Oracle Solaris

    NFS over RDMA does not yet fully interoperate with ZFS and Oracle Solaris. NFS over RDMA for NFS versions 3 and 4 is supported for Oracle Linux systems using the Oracle InfiniBand stack and is more efficient than using NFS with TCP over IPoIB. Currently, only the Mellanox ConnectX-2 and ConnectX-3 Host Channel Adapters (HCAs) pass the full Connectathon NFS test suite and are supported.

  • NFS server-side copy offload

    NFS server-side copy offload is an NFS v4.2 feature that reduces the overhead on network and client resources by offloading copy operations to one or more NFS servers rather than involving the client in copying file data over the network.

  • Server-side parallel NFS

    Server-side parallel NFS (pNFS) improves the scalability and performance of an NFS server by making file metadata and data available on separate paths.

1.6 Compatibility

Oracle Linux maintains user-space compatibility with Red Hat Enterprise Linux, which is independent of the kernel version running underneath the operating system. Existing applications in user space will continue to run unmodified on the Unbreakable Enterprise Kernel Release 4 and no re-certifications are needed for RHEL certified applications.

To minimize impact on interoperability during releases, the Oracle Linux team works closely with third-party vendors whose hardware and software have dependencies on kernel modules. The kernel ABI for UEK R4 will remain unchanged in all subsequent updates to the initial release. In this release, there are changes to the kernel ABI relative to UEK R3 that require recompilation of third-party kernel modules on the system. Before installing UEK R4, verify its support status with your application vendor.

1.7 Header Packages for Development

As of UEK-3.8-QU2, the kernel-uek-headers package is no longer built and distributed. There are three kernel packages that may be useful for development purposes. The kernel-headers package forms part of the API for user space programs. The kernel-devel package is used for standard RHCK development and module compilation. The kernel-uek-devel package is used for UEK development and module compilation. Neither the kernel-uek-headers, nor the kernel-headers packages, are needed for kernel development.

The kernel-headers package provides the C header files that specify the interface between user-space binaries or libraries and UEK or RHCK. These header files define the structures and constants that you need to build most standard programs or to rebuild the glibc package.

The kernel-devel and kernel-uek-devel packages provide the kernel headers and makefiles that you need to build modules against UEK and RHCK.

To install the packages required to build modules against UEK and the C header files for both UEK and RHCK:

# yum install kernel-uek-devel-`uname -r` kernel-headers