Ubuntu kernel 5.4: What’s new with Ubuntu 20.04 LTS

Ubuntu 20.04 LTS has just arrived. The latest LTS comes with a new version of the Linux kernel – 5.4 – which brings a lot of exciting new features, faster boot times, enhanced performance and security. Additionally, the Canonical kernel team ran benchmark tests to validate the performance improvements of the new kernel.

Ubuntu kernel design

Defining which Linux kernel should be included in a long-term support release of Ubuntu is the essence of the work of the kernel team at Canonical. We are proud to say that we are the only Linux distribution to consistently include the latest stable upstream kernel. Canonical also provides bug fixes and kernel security updates every three weeks to ensure fully functional and secure kernel modules and a great user experience.

Feature highlights in Ubuntu kernel v5.4

This release enhances the kernel lockdown mode from previous Ubuntu releases.  Lockdown is a significant Linux security module which strengthens the boundary between the root user and the kernel, restricting root access to various pieces of kernel functionality. Kernel lockdown can be configured at runtime, boot time or build time. 

5.4 also includes virtio-fs – a high-performance, FUSE-based virtio driver for full OS virtualisation. Virtio-fs allows a virtualised guest to share file systems with the host and mount a directory that has been exported on the host. Although this is already possible via solutions such as NFS or virtio-9P, virtio-fs does this with greater performance and application compatibility.

Fs-verity is a new support layer that file systems can use to detect file tampering, similar to dm-verity. The biggest difference between the two is that fs-verity works on files rather than block devices. Fs-verity is currently supported on ext4 and f2fs file systems. In principle, fs-verity detects accidental (non-malicious) file corruption, but in practice it is also used as a tool to support authentication (detection of malicious modifications).

Other important novelties of the 5.4 kernel are dm-clone, which allows users to clone device mapper targets, the support for new Intel/AMD GPUs and the exfat file system. Additionally, a new haltpoll cpuidle driver and a matching governor greatly improve performance, as they allow remote vCPUs to do guest-side polling for a specified amount of time before halting. Finally, blk-iocost, a new I/O cgroup controller, provides more accurate calculations of the cost of I/O.

Ubuntu kernel v5.4 benchmark results 

The benchmark tests focused on boot time and ssh availability. The tests ran on all available Ubuntu kernel flavours on Ubuntu VMs hosted on AWS, Azure and Google clouds. A kernel flavour is a specific configuration of the kernel, optimised to run in a specific environment. For example, the aws kernel flavour is set to work optimally on the AWS cloud.

The cloud environments used also had different flavours, such as AWS’ c5n.xlarge, a compute-optimized infrastructure or Azure’s Standard_D48_v3 and GCP’s g1-micro, which are general purpose machines. For the generic and low latency kernel flavours, the 5.4 kernel was compared to v4.15 and for the aws, azure and gcp flavours it was benchmarked against v5.3 which was featured in Ubuntu 18.04 LTS.

The tests indicate improvements on the kernel boot time by an average of 2 seconds, total boot time by an average of 3 seconds and ssh availability by an average of 6 seconds. This should improve the overall user experience while using Ubuntu 20.04 LTS.

In the following table you can see an extract of the full benchmark per kernel flavour. An approximate delta range shows the time differences from all cloud flavours used in the benchmark. The values represent the kernel boot time, total boot time and ssh availability time in descending order. All values are in seconds.

Kernel flavourCloud flavourv5.3 /v4.15v5.4 Delta
genericc5n.xlarge
6.938
13.498
22.640
4.585
11.545
18.354
{-2, 0}
{-2, -1}
{-7, -4}
lowlatencyc5n.xlarge
5.944
12.207
20.177
3.607
10.415
18.033
{-2, 0}
{-2, 0}
{-8, -2}
awsc5n.xlarge
6.163
12.243
13.699
1.931
9.222
18.385
{-5, -2}
{-7, -3}
{-5, -4}
azureStandard_D48_v3
7.168
16.043
28.248
2.449
10.549
12.314
{-5, -4}
{-6, -1}
{-16, -3}
gcpg1-micro
4.374
19.504
24.694 
1.330
21.127
21.395
{-3, 0}
{-2, 1.4}
{-4, 1.9}

Want to know more about the Ubuntu kernel? Read about it on our website.

Ubuntu cloud

Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.

Newsletter signup

Select topics you’re
interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

ZFS focus on Ubuntu 20.04 LTS: what’s new?

Ubuntu has supported ZFS as an option for some time. In 19.10, we introduced experimental support on the desktop. As explained, having a ZFS on root option on...

OpenStack Ussuri available on Ubuntu 18.04 LTS and 20.04 LTS

Canonical today announced the general availability of OpenStack Ussuri on Ubuntu 20.04 LTS and Ubuntu 18.04 LTS. The most notable enhancements of today’s...

The New Ubuntu Server Guide

This article originally appeared on Joshua Powers’ blog With the release of Ubuntu 20.04 LTS (Focal Fossa) the Ubuntu Server Guide has received a major set of...