We're hiring!

Kernel 6.1: Multi-generational improvements

AngeloGioacchino Del Regno avatar

AngeloGioacchino Del Regno
December 13, 2022

Share this post:

Reading time:

In our v6.0 blog post we mentioned that Rust for Linux support was pending for v6.1: its basic infrastructure is now merged.

Moving on to other exciting news, thanks to Google and community efforts, this release cycle brings the much-awaited Multi-Generational Least-Recently-Used lists (MGLRU) mechanism giving outstanding performance improvements. As presented by the Google ChromeOS team and in the Android mini-conference at this year's Linux Plumbers Conference, the enhancements provided by MGLRU include an overall app launch time decrease of around 47%, direct reclaiming efficiency improved to a maximum of 43%, kswapd's CPU usage dropped by an outstanding 92%, and more.

Another remarkable advance is the introduction of the Kernel Memory Sanitizer (KMSAN), helping developers worldwide improve security by adding a code testing mechanism based on compiler instrumentation (for now, Clang only) that will detect various issues including information leaks, uninitialized variables, and more.

Last but not least, let's now look at the contributions made by Collabora:

SoC support

In this cycle, our presence in the ARM64 SoC support community was strong again with additions, general fixes, and other improvements. In particular:

Sebastian Reichel went on with his upstreaming of the RockChip RK3588 SoC, gaining support for SPI, PWM, and Ethernet as well as power domains. Last missing bit for basic support is clock support, which is expected to arrive with the next kernel.

AngeloGioacchino Del Regno and Nícolas Prado kept supporting MediaTek SoCs and MediaTek-powered machines, with important sanitization, fixes, and additions for all Chromebooks like the further devicetree enablement of the Acer Chromebook Spin 513, and work on various drivers including, but not limited to, audio, SoundOpenFirmware, display, devfreq, pin control, and clocks.

Moreover, AngeloGioacchino Del Regno continued his upstreaming of the MediaTek Helio X10 (MT6795), which gained support for system timers, MMC/SD, IOMMU, clock, and reset controllers. Along this line, he also upstreamed basic support for the MT6331 and MT6332 PMICs with regulator drivers for the two and physical keys controller, usually found as a combo in smartphone designs featuring the aforementioned SoC.

On Valve's Steam Deck side, Shreeya Patel added initial support for the Liteon LTRF216A Ambient Light Sensor, while Cristian Ciocaltea contributed with the last missing bits and pieces for getting the sound to work fine finally. Note the latter still requires a proper ALSA Use Case Configuration (UCM), but we have already opened a pull request on alsa-ucm-conf project to add support for the AMD Vangogh (acp5x) sound card.

x86 Chromebooks

Historically, some x86 laptops were exposing two display backlight controls to the user: one was provided by a Linux display driver that directly programs the backlight hardware, while the other control was provided by ACPI firmware. Often, one of these controls is non-functional, confusing Linux desktop users. Linux 6.1 got initial patches addressing the long time backlight issue by removing the bogus backlight presence for some laptops but, unfortunately, that broke some others like Intel-based Chromebooks, which entirely lost backlight controls. Dmitry Osipenko addressed this backlight regression on Chromebooks.


Thanks to the efforts of Benjamin Gaignard, Dmitry Osipenko, and Nicolas Dufresne, bug fixes and improvements were made all around on Cedrus and Hantro IPs, found in various SoCs from AllWinner, RockChip, NXP and more, hence enhancing their hardware video decoding reliability and adding support for 10-bit HDR HEVC bitstreams.


There is ongoing work on adding memory shrinker support to the VirtIO-GPU driver led by Dmitry Osipenko. The shrinker will allow the kernel to free up resources from GPU buffers in a low memory condition, preventing emergency termination of guest applications by the Out Of Memory (OOM) killer: the first preparatory patches landed in kernel v6.1. The VirtIO driver now uses an appropriate device handle for managing DMA operations, which will allow it to adopt the generic DRM-SHMEM shrinker in a future kernel release.

As per usual practice, here's the list of contributions made by our team for this kernel release:

Below is a full list of contributions made by Collaborans for the 6.1 release, as recorded in the git commit history:

Authored (146):

Adrián Larumbe (5):

AngeloGioacchino Del Regno (62):

Benjamin Gaignard (8):

Cristian Ciocaltea (2):

David Heidelberg (2):

Deborah Brouwer (1):

Detlev Casanova (1):

Dmitry Osipenko (12):

Martyn Welch (9):

Muhammad Usama Anjum (1):

Nicolas Dufresne (1):

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

Ricardo Cañuelo (3):

Robert Beckett (1):

Sebastian Reichel (11):

Shreeya Patel (5):

Sjoerd Simons (1):

Maintainer Committed (46):

Dmitry Osipenko (14):

Sebastian Reichel (32):

Signed-off-by (28):

AngeloGioacchino Del Regno (3):

Faith Ekstrand (1):

Sebastian Reichel (23):

Shreeya Patel (1):

Reviewed-by (153):

Alyssa Rosenzweig (4):

AngeloGioacchino Del Regno (129):

Boris Brezillon (2):

Dmitry Osipenko (5):

Nicolas Dufresne (2):

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

Pekka Paalanen (1):

Acked-by (6):

Alyssa Rosenzweig (1):

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

Pekka Paalanen (1):

Sebastian Reichel (3):

Tested-by (28):

AngeloGioacchino Del Regno (17):

Dmitry Osipenko (1):

Frédéric Danis (1):

Martyn Welch (4):

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

Reported-by (6):

Adrián Larumbe (1):

Alyssa Rosenzweig (1):

AngeloGioacchino Del Regno (2):

Dmitry Osipenko (1):

Nicolas Dufresne (1):


Comments (0)

Add a Comment

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


Search the newsroom

Latest News & Events

Blast from the past at Embedded World: Atari plays for Linux


Adhering to the fundamentals of open source, the Atari VCS OS is based on Debian using the Apertis infrastructure, and the graphics rely…

Up close and personal with STMicroelectronics' STM32MP2 at Embedded World


Using TensorFlow Lite models optimized for the STM3MP2 NPU along with an upstream-ready H.264 encoder (Video4Linux2), this demo showcases…

New unixfd plugin in GStreamer 1.24


GStreamer 1.24 was recently released, and with it came with a new plugin to help separate pipelines into different processes.

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-2024. All rights reserved. Privacy Notice. Sitemap.