Chapter 1 New Features and Changes

The Unbreakable Enterprise Kernel Release 3 (UEK R3) is Oracle's third major release of its heavily tested and optimized operating system kernel for Oracle Linux 6 and 7 on the x86-64 architecture. It is based on the mainline Linux kernel version 3.8.13.

The 3.8.13-68 release is the fifth quarterly update release for UEK R3. It includes security and bug fixes, as well as driver updates.

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

UEK R3 uses the same versioning model as the mainline Linux kernel version. It is possible that some applications might not understand the 3.x versioning scheme. If an application does require a 2.6 context, you can use the uname26 wrapper command to start it. However, regular Linux applications are usually neither aware of, nor affected by, Linux kernel version numbers.

1.1 Notable Changes

  • Update to the bonding driver to enable the ethtool command to show useful data about a bond, such as the link aggregate speed and duplex mode.

  • The turbostat tool is now included with the kernel and can be used with modern x86 processors to provide information about processor topology, and statistics such temperature and frequency.

  • For Oracle Linux 7 systems, the P-state driver (intel_pstate) is now built in to the kernel and is the default driver for Intel Sandy Bridge (and later) processors. However, for Oracle Sun x86 systems, the default driver used is still acpi_cpufreq because this driver supports the power capping features used in those systems. A new intel_pstate kernel parameter has been added. You can use the intel_pstate=force setting to force the intel_pstate driver to load on Oracle Sun x86 systems.

    For Oracle Linux 6 systems, to maintain compatibility between UEK and the Red Hat compatible kernel (RHCK), the UEK kernel does not have intel_pstate driver.

  • The SHA-512 hash algorithm is now enabled for signing kernel modules during installation.

  • The ability to use swap files that reside on NFS shares is available as a technology preview. See Section 1.4, “Technology Preview” for more detail.

  • Bug fixes for btrfs, ext4, xfs, and OCFS2 file systems.

  • Bug fixes to support Oracle Linux guests running on Microsoft Azure or Hyper-V.

  • Bug fixes for NFSv4.

1.2 Xen Improvements

  • Xen EFI support added.

  • Various fixes.

1.3 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 by Oracle.

Table 1.1 Updated Drivers in UEK R3 QU5

Manufacturer

Driver

Version

Description

Broadcom

bnx2fc

2.8.2

NetXtreme II Fibre Channel over Ethernet (FCoE) driver

Broadcom

bnx2i

2.11.0.0

NetXtreme II iSCSI driver

Broadcom

bnx2

2.2.5m

NetXtreme II 1 Gigabit network adapter driver

Broadcom

bnx2x

1.712.10

NetXtreme II 10 Gigabit network adapter driver

Broadcom

cnic

2.5.20e

NetXtreme II Converged network interface card (NIC) driver

Cisco

enic

2.1.1.67

VIC Ethernet NIC driver

Emulex

be2iscsi

10.4.200.0o
(with upstream patches)

OneConnect Open-iSCSI driver

Emulex

lpfc

0:10.6.61.0

LightPulse Fibre Channel SCSI driver

Emulex

be2net

10.4u
(with upstream patches)

OneConnect NIC driver

HP

hpsa

3.4.4-1
(with upstream patches)

HP Smart Array controller driver

Intel

i40e

1.2.2-k

Ethernet Connection XL710 network driver

Intel

i40evf

1.0.6

XL710 X710 Virtual Function network driver

Mellanox

mlx4_en

2.1.8
(Mar 10 2015)

ConnectX HCA Ethernet driver

Microsoft

hv_netvsc

Updated

Hyper-V network driver

Microsoft

hv_storvsc

Updated

Hyper-V virtual storage driver

Microsoft

hv_utils

Updated

Hyper-V utilities

Microsoft

hv_vmbus

Updated

Hyper-V VMBus driver

1.4 Technology Preview

The following features included in the Unbreakable Enterprise Kernel Release 3 are still under development, but are made available for testing and evaluation purposes. Do not use these features on production systems.

  • 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 Client

    Enables you to use NFS over the RDMA transport on the Oracle InfiniBand stack. This is more efficient than using the TCP/IPoIB transport. The technology preview does not include NFS over RDMA server support, or support for NFS over RDMA in virtualized environments. NFS version 3 and 4 are supported. Currently, only the Mellanox ConnectX-2 and ConnectX-3 Host Channel Adapters (HCAs) are supported. The client passes the full Connectathon NFS test suite using these HCAs. The Release Notes will be updated if additional adapters are supported after the initial release.

    See Section 1.4.1, “Using the NFS over RDMA Client” for details of how to use the feature.

  • Swap files on NFS shares

    Ability for a system to use swap files that reside on NFS shares. For information about using swap files, see the swapon(8) manual page and the Administrator's Guide for your Oracle Linux release.

  • Transcendent Memory

    Transcendent Memory (tmem) provides a new approach for improving the utilization of physical memory in a virtualized environment by claiming underutilized memory in a system and making it available where it is most needed. From the perspective of an operating system, tmem is fast pseudo-RAM of indeterminate and varying size that is useful primarily when real RAM is in short supply. To learn more about this technology and its use cases, see the Transcendent Memory project page at https://oss.oracle.com/projects/tmem/.

1.4.1 Using the NFS over RDMA Client

The following instructions also include details for enabling an NFS over RDMA server. These are provided as an example only, as the NFS over RDMA server is currently not supported with the UEK R3 kernel.

  1. Install an RDMA device, set up InfiniBand and enable IPoIB.

    The Oracle Linux OFED packages are available from the following channels:

    • Oracle Linux 6: ol6_x86_64_ofed_UEK

    • Oracle Linux 7: ol7_x86_64_UEKR3_OFED20

  2. Check that the RDMA device is working.

    # cat /sys/class/infiniband/driver_name/ports/1/state
    4: ACTIVE

    where driver_name is the RDMA device driver, for example mlx4_0.

  3. Verify the physical InfiniBand interfaces and links.

    Check that the hosts can be contacted through the InfiniBand switch, by using commands such as ibhosts, and ibnetdiscover.

  4. Check the connection between the NFS client and NFS server.

    You can configure the settings for an InfiniBand interface in the
    /etc/sysconfig/network-scripts/ifcfg-ibN file.

    You can use the ping command to check the connection. For example:

    nfs-server$ ip addr add 10.196.0.101/24 dev ib0
    nfs-client$ ip addr add 10.196.0.102/24 dev ib0
    nfs-server$ ping 10.196.0.102 
    nfs-client$ ping 10.196.0.101
  5. Install the nfs-utils package on the NFS client and server.

  6. Configure the NFS shares.

    Edit the /etc/exports file. Define the directories that the NFS server will make available for clients to mount, using the IPoIB addresses of the clients. For example:

    /export_dir 10.196.0.102(fsid=0,rw,async,insecure,no_root_squash) 
    /export_dir 10.196.0.0/255.255.255.0(fsid=0,rw,async,insecure,no_root_squash)
  7. On the NFS server, load the svcrdma kernel module and start the NFS service.

    Oracle Linux 6:

    # modprobe svcrdma
    # service nfs start
    # echo rdma 20049 > /proc/fs/nfsd/portlist

    Oracle Linux 7:

    # modprobe svcrdma
    # systemctl start nfs-server
    # echo rdma 20049 > /proc/fs/nfsd/portlist
    Note

    The rdma 20049 setting does not persist when the NFS service is restarted. You have to set it each time the NFS service starts.

  8. On the NFS client, load the xprtrdma kernel module and start the NFS service.

    # modprobe xprtrdma
    # service nfs start
    # mount -o proto=rdma,port=20049 host:/export /mnt 
    

    where host is the host name or IP address of the IPoIB server, and export is the name of the NFS share.

    To check that the mount over RDMA is successful, check the proto field for the mount point.

    # nfsstat -m
    /mnt from 10.196.0.102:/export
    Flags: rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=rdma,port=20049,
    ...

    Alternatively:

    # cat /proc/mounts

Known Issues

Any mounted file systems must be unmounted on the NFS client before you shut down the NFS server. Otherwise the NFS server hangs when you shut down.

1.5 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 3 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 R3 will remain unchanged in all subsequent updates to the initial release. In this release, there are changes to the kernel ABI relative to UEK R2 that require recompilation of third-party kernel modules on the system. Before installing UEK R3, verify its support status with your application vendor.

1.6 Header Packages for Development

The kernel-headers packages provide 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.