Skip to content
Search

Linux:Kernel:4.18

lastmod 2025-02-13created 2018-09-056 edits

Review

The recently released Linux kernel 4.18 and the subsequent 4.18.1, 4.18.2, 4.18.3, 4.18.4, and 4.18.5 brought big changes to the Linux ecosystem. They are also notable for many feature improvements, adjustments, and bug fixes. Developers who saw the improvements they wanted would have been impressed, but quite a few Linux users probably let the recent changes pass unnoticed. Let's look at the key features of the new kernel here.

Code cleanup
Above all, about 100,000 lines of 'outdated' code disappeared in the 4.18 kernel. That is a considerable amount. Does this mean features many people have liked are gone? No. That is very unlikely. With one big 'chunk' and useless code cleaned out of the kernel, the code actually became cleaner. The new kernel needs less memory and runs more efficiently. It can also respond more effectively to attacks that target old code. The code is tidier and easier to maintain.
Lustre removal
The 'big chunk of code' mentioned above refers to the Lustre file system, which existed in the kernel without being fully integrated. In this version, the Lustre file system was removed. It was removed because it was not developing fast enough to be kept in the kernel. Lustre is a distributed file system used for cluster computing. The term 'Lustre' itself is a combination of Linux and Cluster. However, it is still incomplete and immature. If it keeps improving and becomes ready to be connected to the kernel tree, it may be reintroduced in a future release.
Introduction of BPF
Another interesting feature is BPF (Berkeley Packet Filter). It started from the packet filtering features of tools such as tcpdump and was first introduced in Linux 4.18. It is expected to replace iptables and nftables in the future. It also extends several Linux features such as network security, load balancing, and performance monitoring without affecting performance. BPF is a very big change in terms of networking and security. BPF provides an easy way to convert iptables rules into its own rule format. It also provides flexibility in filtering rules (perhaps even on the network interface itself). And it is expected to modernize the network stack and breathe new life into it.
Speck file system encryption
In 4.18, FSCRYPT, which operates at the file system level rather than the block device level, supports the Speck128/Speck256 encryption algorithms. As a result, Speck can be chosen as a file system encryption method. However, there is also 'controversy'. Speck was developed by the NSA (National Security Agency), and it may not share some of its design components. For this reason some will not use it, but it is the only encryption method on low-end Android devices. This means it may end up playing an important role.
Improved graphics
The 4.18 kernel provides improved open-source graphics drivers. AMDGPU (the open-source graphics driver for recent AMD Radeon graphics cards) includes code for the upcoming Vega 20 GPU graphics cards, and supports Vega M hardware, the Radeon graphics available on Intel Kabylake G processors. Hyper-V support for Vega M and NVIDIA Volta GV100 hardware was also improved. These changes are expected to deliver fast graphics performance.
Sound chip improvements
In 4.18, sound chip features and support were also greatly improved. For example, support was strengthened for some Creative Labs CA0132 devices, HP Spectre x360 laptop audio, Realtek chips, and MediaTek controllers.
Steam controller driver
Good news for gamers. The Steam controller driver was reverse-engineered so the device works as a generic HID (Human Interface or Input Device). As a result, there is no longer any need to install the Steam client or a separate controller driver. Also, a gamepad connected over USB or wirelessly works as a virtual mouse, touchpad, and keypad, with no impact on the Steam controller.
Performance improvements
The new kernel includes 'Restartable Sequences (RSEQ)', a lock-free concurrency control mechanism for user space. The RSEQ system call speeds up user-space operations. Performance gains were confirmed numerically in some microbenchmarks. It also brings significant performance improvements to the kernel scheduler code. Thanks to these changes, overall system performance is expected to improve greatly.
Another performance improvement in Linux 4.18 is support for dual-lane transfers in USB 3.2. This speeds up USB data transfer between hosts and devices that use Type-C cables. Linux kernel 4.18 also provides a new kernel polling interface for asynchronous I/O. It polls a set of file descriptors and determines which ones can perform I/O without blocking. This also improves performance. The new kernel provides a 'TCP zero-copy receive API' and supports high-performance AF XDP sockets. In other words, it improves performance while saving CPU cycles and memory bandwidth.
Fixing the 2038 Y2K problem
The new kernel also includes a fix for the long-known 2038 problem. Many people will remember the Y2K (millennium) bug that worried many people toward the end of 1999. At the time, people feared that systems and applications using two-digit years in data fields would treat the time as 1900 at midnight on December 31, causing crashes. Because of its own way of storing dates (the number of seconds since the Unix Epoch), Unix could face a similar problem on January 19, 2028. Accordingly, the 4.18 kernel improved the timespec structure so this problem does not occur on 32-bit systems when that date reaches 3:14:07.
Other changes in 4.18:
They include the following:
  • Unprivileged users can now mount FUSE file systems, which help implement fully functional file systems in user space.
  • Provides ARM Spectre mitigation fixes for 32-bit ARM devices.
  • Now supports the Qualcomm Snapdragon 845 (the fastest mobile processor), an SoC (System on Chip) used in many high-end (premium and expensive) mobile devices.
  • Fully supports the Raspberry Pi 3B and 3B+.
  • Includes power management updates that help performance on both servers and PCs.
  • Supports Thunderbolt by default on Dell hardware.

As shown, the 4.18 Linux kernel adds many welcome changes in performance, security, and functionality. In particular, there is no longer any need to worry about the '2038 problem'.

See also

Favorite site

author Zer0 sitemap