We're hiring!
*

Kernel 6.6: Long-awaited features and enhanced hardware support

Laura Nao avatar

Laura Nao
October 31, 2023

Share this post:

Reading time:

Linux Kernel 6.6 has arrived, bringing a significant amount of new features and performance enhancements. A comprehensive overview of the noteworthy changes that were pulled in this release can be found here and here.

Among the core changes introduced in this release, one of particular interest is the replacement of the CFS scheduler with the earliest eligible virtual deadline first (EEVDF) CPU scheduler. EEVDF is also a virtual-time scheduler, but in contrast to CFS, which only uses one weight parameter, it employs two parameters: relative deadline and weight (see LWN article for more details). EEVDF has a better-defined scheduling policy; it removes a lot of the CFS heuristics and results in fewer knobs. Even though this scheduler offers improved performance and fairness, rare performance regressions are expected with some adversarial workloads; efforts to address regressions are ongoing and will continue post-release. This kernel version also significantly improves the memory efficiency of the tracing subsystem, with eventfs now assigning inodes and dentries structures needed for tracepoints only when tracing is actually used.

With regards to architecture changes, Intel's long-awaited x86 shadow stack support was finally merged after being cleaned up and reworked in response to its rejection for 6.4 (see this article for more background on the shadow stack saga). More kernel functionality was also added to RISC-V, including support for Kernel Control Flow Integrity and user space access to performance counters.

On the subject of continuous integration, the configuration files for automated testing of the DRM subsystem have been merged upstream (see documentation here). These support files, combined with out-of-tree bits, enable users to validate DRM changes in their kernel tree leveraging the FreeDesktop.org GitLab CI infrastructure.

This kernel release comes packed with lots of filesystem and storage improvements too, including but not limited to the ability to use fs-verify data in the overlayfs filesystem; support for NFSv4 write delegations on the in-kernel NFS server and the new fchmodat2() system call, an evolution of fchmodat() call that implements the AT_SYMLINK_NOFOLLOW flag.

Regarding security, we can highlight the merging of the kmalloc() randomness patches, which help strengthen the kernel against heap spraying attacks. Last but not least, 6.6 includes a number of new and updated drivers that increase hardware support.

Collabora's kernel team again contributed a number of patches for this Kernel release, let's take a look at some of the major contributions:

MediaTek

Our team continued working actively to enhance MediaTek SoC support upstream. With the community encouragement, AngeloGioacchino Del Regno became a co-maintainer of MediaTek SoCs support, having made significant contributions over the years and being a top reviewer for patches pertaining to MediaTek SoCs in various subsystems.

In this release, Angelo expanded the MediaTek DisplayPort driver to support eDP panels through aux-bus, ensuring correct functionality on panels both with and without an HPD line and increasing performance during PM operations; thanks to this series, Embedded DisplayPort is now fully supported on MediaTek Chromebooks, including the MT8195 powered Acer Chromebook Spin 513 CP513-2H. Angelo also cleaned up the MediaTek mtk-dpi and the mipi-dsi PHY driver, switching to devm variants where possible, removing unused pointers and callbacks, and improving the overall code flow and readability.

Nícolas Prado submitted a patch series that fixes interrupt handling in the MediaTek LVTS thermal driver, effectively solving the interrupt storm previously observed on MT8192 and allowing the temperature monitoring interrupts to fire as expected. He also reworked the MediaTek video decoder driver to allow support for MT8183 to be added and fixed the duration of the pcm-test in the ALSA kselftests to avoid timeouts.

Qualcomm

Support for handling Qualcomm's QSMMUv2 and QSMMU-500 IOMMUs was added by AngeloGioacchino Del Regno, ensuring IOMMU functionality on MSM8956 and MSM8976 SoCs. He also added display support in the device tree for the MSM8998 (and variants, like APQ8098) SoCs and made sure that the correct CPUFreq driver got probed on the same. David Heidelberg added support for the gsbi4 uart on apq8064, as found in Nexus 4 phone.

Rockchip

Several patch series were submitted by our team as part of the ongoing effort to advance Rockchip hardware support upstream. In particular, Sebastian Reichel enabled PCIe, USB2, and SATA for RK3588 at the SoC level. Additionally he updated the RK3588 evaluation board device tree to support SATA and USB2; Radxa ROCK 5B to support USB2 and last but not least Radxa ROCK 5A for USB2, fan, ADC, I2C EEPROM, analog audio, status LED, PMIC, and regulators. PCIe support in the board device trees arrived too late and will become part of v6.7, so this is the last kernel without out-of-the-box Network support on Radxa ROCK 5B. Christopher Obbard contributed a patch series to add support for the Raxda ROCK 4SE which is based around the Rockchip RK3399T SoC. As for video decoding, Benjamin Gaignard adjusted the H264 bitstream's maximum height that rkvdec can decode to 2560; this aligns the rkvdec driver with the actual hardware capabilities.

AMD

Cristian Ciocaltea extended the AMD Van Gogh sound machine driver to support a variant based on the Nuvoton NAU88L21 Codec and the Analog Devices MAX98388 Speaker Amplifier.

Multimedia

Deborah Brouwer contributed a patch series that converts the bttv driver from the old videobuf framework to videobuf2. This was the last driver upstream using the old videobuf framework and so will allow a large chunk of legacy code to be removed from the media subsystem.

DRM

Adrián Larumbe fixed support for 4K display modes on Amlogic Meson SoCs. Dmitry Osipenko added sync object DRM UAPI support to VirtIO-GPU driver and moved drm-shmem to use new dma-buf locking policy that is common to all drivers using dma-bufs.

Other changes

Eugen Hristev fixed warnings reported by dtc on both MediaTek and Rockchip dt-bindings. Boris Brezillon fixed a leak in devfreq_dev_release found by kmemleak. Ricardo Cañuelo made some fixes to the USB core code to prevent NULL pointer dereferences.

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

Authored:

Adrián Larumbe:

AngeloGioacchino Del Regno:

Benjamin Gaignard:

Boris Brezillon:

Christopher Obbard:

Cristian Ciocaltea:

David Heidelberg:

Deborah Brouwer:

Dmitry Osipenko:

Eugen Hristev:

Helen Koike:

Laura Nao:

Lucas Tanure:

Muhammad Usama Anjum:

Nícolas F. R. A. Prado:

Ricardo Cañuelo:

Sebastian Reichel:

Tomeu Vizoso:

Maintainer Committed:

Boris Brezillon:

Dmitry Osipenko:

Sebastian Reichel:

Signed-off-by:

AngeloGioacchino Del Regno:

Faith Ekstrand:

Sebastian Reichel:

Reviewed-by:

Andrzej Pietrasiewicz:

AngeloGioacchino Del Regno:

AngeloGioacchino Del Regno:

Boris Brezillon:

Dmitry Osipenko:

Eugen Hristev:

Faith Ekstrand:

Muhammad Usama Anjum:

Nicolas Dufresne:

Nícolas F. R. A. Prado:

Pekka Paalanen:

Sebastian Reichel:

Acked-by:

Daniel Stone:

Faith Ekstrand:

Pekka Paalanen:

Sebastian Reichel:

Tested-by:

AngeloGioacchino Del Regno:

Dmitry Osipenko:

Laura Nao:

Muhammad Usama Anjum:

Nicolas Dufresne:

Sebastian Reichel:

Reported-by:

Guillaume Tucker:

Laura Nao:

 

Comments (0)


Add a Comment






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


 

Search the newsroom

Latest News & Events

Effortless GStreamer Analytics Cross-Platform Support via ONNX Runtime

29/04/2024

GStreamer's support for diverse hardware and software platforms extends to its upstream Machine Learning capabilities, exemplified by its…

Collabora, not just Earth Day. Every day.

22/04/2024

As part of our commitment to social responsibility, we've been part of the 1% for the Planet Network since 2022. The environmental partners…

Monado stays ahead: Keeping pace with OpenXR 1.1 for cross-platform, open source XR

17/04/2024

Monado, the cross-platform open source XR runtime, has recently received significant updates to align with the features and specifications…

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.