We're hiring!
*

Kernel 5.15: A small but mighty Halloween release

Sebastian Reichel avatar

Sebastian Reichel
November 10, 2021

Share this post:

It might be smaller than the last few kernels, but with well above 10,000 non-merge changes, the latest Linux kernel still packs a punch. Released on October 31, kernel 5.15 brings lots of exciting new features. For example, ksmbd has been merged, which provides a simple SMB3 server implementation, and a potential user for the case sensitive filesystem support code Gabriel upstreamed in the 5.2 kernel. Another noteworthy highlight is the real-time preemption locking code, which finally hit mainline after 17 years! Meanwhile, in the embedded space, we expect to soon see processors hitting the market that have CPU cores with asymmetric behaviour (e.g. some cores only support 64 bit and some cores only supporting 32 bit). Scheduling a 64 bit task on a 32 bit CPU core would be fatal and the new scheduler will avoid this thanks to Arm.

As usual, our Collabora engineers haven't been slacking either, so let's have a look at their contributions to this kernel release.

Rockchip H.264 Decoder

Multiple Rockchip SoCs contain VeriSilicon's Hantro Video Processor Unit (VPU) to support hardware accelerated decoding of common video codecs. In this release, Ezequiel forward ported H.264 support, allowing the VPU to decode 1080p video material at 100 FPS on a small RK3326 based system. In addition to the RK3326, this also adds support on Rockchip PX30 and RK3328.

Panfrost

Most of the Panfrost work happens in Mesa, but this time we also have some interesting bits in the kernel. Alyssa fixed some incorrect locking code which was causing undefined behaviour. Meanwhile, Boris landed a big series, which adds support for submitting a second job to the hardware while one is still executing, along with some general cleanups in the driver.

Documentation Updates

Keeping documentation up to date is a task often neglected in the kernel. One of the tasks currently being performed throughout the tree is the conversion of the devicetree binding files from an unspecified text file into a machine readable description called DT schema. This allows automatic checking of the devicetree source files for syntactic correctness, and nicely fits with our efforts around KernelCI.

NXP K20 firmware flashing support

In this kernel release we introduced a new driver, which can be used to update the firmware of a NXP K20 microcontroller connected to the system. This can be used if it has its EzPort interface connected to an SPI port and both the EzPort chip-select, and the reset pins are connected to the host via GPIOs. These kinds of microcontrollers are usually used for offloading hard realtime tasks, such as monitoring brakes in a car and the driver is initially used by the GE PPD patient monitor.

Flicker-free multi GPU boot

As multi-GPU platforms are becoming more and more common, it's good to have seamless integration from the boot-up framebuffer. In this release, we fixed a bug which was preventing flicker-free boot when one of the GPUs was Intel based. There is more work to be done, but this avoids the flicker if your display is connected to the non Intel GPU - the typical case where a dual-GPU laptop is connected to an external monitor.

Miscellaneous Fixes

Probably most important in 5.15 were the small changes to fix bugs. Notably from Linus Torvalds himself came a patch trying to enable -Werror, which treats all compiler warnings as fatal errors. This is meant to increase code quality, but unfortunately resulted in lots of problems being reported. In the end, it was decided to soften the change by only enabling it for now for kernels being built for compilation testing.

Our engineers also fixed a number of issues throughout the tree. For example, Andrej fixed a buffer overflow in the U2F Zero HID device driver. You can check out the full list of our contributions below. If you are instead interested in finding out about other changes which have been added during the 5.15 merge window, you can have a look at LWN's merge window articles part 1 and part 2.

Contributions made by Collaborans for the 5.15 release, as recorded in the git commit history:

Authored (50):

Adrian Ratiu (2):

Alyssa Rosenzweig (3):

Andrej Shadura (2):

Boris Brezillon (17):

Dafna Hirschfeld (4):

Emil Velikov (1):

Enric Balletbo i Serra (1):

Ezequiel Garcia (12):

Leandro Ribeiro (2):

Nicolas Dufresne (1):

Nícolas F. R. A. Prado (1):

Sebastian Reichel (4):

Maintainer Committed (53):

Boris Brezillon (1):

Enric Balletbo i Serra (1):

Sebastian Reichel (51):

Signed-off-by (26):

Enric Balletbo i Serra (3):

Ezequiel Garcia (3):

Sebastian Reichel (20):

On behalf of (26):

Andreas Kemnade (2):

Bilal Wasim (3):

Bruno Meneguele (1):

Daisuke Nojiri (1):

Dmitry Osipenko (5):

Emil Renner Berthing (1):

Gene Chen (3):

Jonas Karlman (1):

Krzysztof Kozlowski (2):

Linus Walleij (2):

Paul Kocialkowski (2):

Pawel Dembicki (1):

Peter Robinson (1):

Tang Bin (1):

Reviewed-by (23):

Alyssa Rosenzweig (7):

André Almeida (1):

Boris Brezillon (3):

Emil Velikov (1):

Enric Balletbo i Serra (2):

Ezequiel Garcia (2):

Pekka Paalanen (4):

Sebastian Reichel (3):

Acked-by (9):

Alyssa Rosenzweig (1):

Helen Koike (3):

Nicolas Dufresne (1):

Pekka Paalanen (4):

Tested-by (3):

Corentin Noël (1):

Enric Balletbo i Serra (1):

Martyn Welch (1):

Reported-by (1):

Corentin Noël (1):

 

Comments (0)


Add a Comment






Allowed tags: <b><i><br>Add a new comment:


 

Search the newsroom

Latest News & Events

Kernel 5.15: A small but mighty Halloween release

10/11/2021

It might be smaller than the last few kernels, but with well above 10,000 non-merge changes, the latest Linux kernel release still packs…

WirePlumber in Fedora 35

02/11/2021

Today marks a very exciting day as Fedora 35 has now been released, and with it comes WirePlumber as the default session manager for PipeWire!…

Open Source Summit + Embedded Linux Conference 2021

24/09/2021

Collaborans will be actively participating in next week's activities with seven talks on topics including Rust build scripts, embedded deep…

Open Since 2005 logo

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2021. All rights reserved. Privacy Notice. Sitemap.

Collabora Limited is registered in England and Wales. Company Registration number: 5513718. Registered office: The Platinum Building, St John's Innovation Park, Cambridge, CB4 0DS, United Kingdom. VAT number: 874 1630 19.