Kernel 4.8

If you download any software from this web site please be aware of the Warranty Disclaimer and Limitation of Liabilities.

Kernel downloads for the "Development stream"

Download Description
upstream kernel 4.8 kernel 4.8 - upstream with feature descriptions.
linux-4.8-s390-message-catalog.tar.gz / MD5 "Development Stream" kernel 4.8 - message-catalog (optional)

2016-12-01: kernel 4.8 - upstream (feature description)

To download the linux-4.8.tar.gz visit:

The upstream kernel 4.8 contains the following functional enhancements developed by the Linux on z Systems development team:

Optimize the in-kernel computation of CRC-32 checksums.
Cyclic redundancy checks (CRCs) are error-detecting codes commonly used in digital network protocols and file systems. With IBM z13, the Vector Extension Facility for z/Architecture (SIMD) is used to optimize the performance of computing cyclic redundancy checks (CRC) within the Linux kernel. Optimized implementations are provided for CRC-32 (IEEE Standard 802.3 for Ethernet) and CRC-32C (Castagnoli).
For documentation see Device Drivers, Features, and Commands, Chapter 'Hardware-accelerated in-kernel cryptography'.

Add support for 2 GB hugepages.
With this item, the Linux hugetlbfs filesystem can use 2 GB hugepages. Access the hugepage memory either through the mmap() or SysV shared memory system calls. Using hugepage memory can accelerate memory accesses and reduce page table memory consumption. This feature is supported on zEC12 and later.
For documentation see Device Drivers, Features, and Commands, Chapter 'Large page support'.

Add a new drawer scheduling domain level to the scheduler to improve performance.
The IBM z13 hardware adds another level to the cpu cache hierarchy. The new cache hierarchy information can be used to optimize the Linux scheduler which bases its decisions on which process gets scheduled to which cpu on the cpu topology. Therefore this should increase cache hits and therefore overall performance. This item adds a new drawer scheduling domain level to the scheduler which will be used if the underlying hardware supports the new topology information. A scheduling domain contains informations about which cpus are close together and metrics which describe how expensive it would be to move a process to a different cpu. By using the new topology information together with the new scheduling domain level the scheduler can make improved decisions on which cpu it will put a process.
For documentation see Device Drivers, Features, and Commands, Chapter 'Managing CPUs'.

Make use of a scatter-gather approach for AF_IUCV sockets of type IUCV communication.
The implementation of AF_IUCV sockets communication through z/VM IUCV is optimized: When sending or receiving messages, paged socket buffers are allocated instead of large contiguous kernel buffers.

Map network device address lists in an efficient way to the hardware.
The qeth driver has to map MAC-addresses (in layer2 mode) or IP-addresses (in layer3 mode) belonging to a network interface to the (virtual) hardware network device. The old mapping method is tolerable with small address lists only, but new scenarios like macvlan address mapping in KVM-hosts create large address lists. A more efficient way to mirror address lists to the underlying hardware is provided.

2016-12-01: "Development Stream" kernel 4.8 message catalog (feature - optional patch)

linux-4.8-s390-message-catalog.tar.gz / MD5 ... recommended (2016-12-01)

This patch contains:

Kernel message catalog.
Add support for automatic message tags to the printk macro families dev_xyz and pr_xyz. The message tag consists of a component name and a 24 bit hash of the message text. For each message that is documented in the included kernel message catalog a man page can be created with a script (which is included in the patch). The generated man pages contain explanatory text that is intended to help understand the messages.

Note that only s390 specific messages are prepared appropriately and included in the generated message catalog.

This patch is optional as it is very unlikely to be accepted in upstream kernel, but is recommended for all distributions which are built based on the 'Development stream'.