Linux 6.12 released, Bootlin contributions inside

Linux 6.12 has been released during the past week-end, pretty much as expected after 7 release candidates. As usual, we recommend our readers to go through the amazing LWN.net articles covering the 6.12 merge window (part 1, part 2) to get a high-level overview of the major new features and improvements in this 6.12 release. One of the prominent improvement in this release, as far as the embeded industry is concerned, is obviously the merge of the final bits enabling PREEMPT_RT… which already caused our Real-Time Linux with PREEMPT_RT training course to be updated.

As usual, Bootlin again contributed to this release: with 118 commits merged, we are again in the top 20 contributing companies! Also, in addition to contributing our own code, several of our engineers are also maintainers, and as part of this work those engineers review and merge patches from other contributors. As part of this effort, for this 6.12 release:

  • Alexandre Belloni, as the RTC and I3C subsystems maintainer, merged 29 patches from other contributors
  • Miquèl Raynal, as the MTD subsystem co-maintainer, merged 24 patches from other contributors
  • Grégory Clement, as the Marvell platform maintainer, merged 4 patches from other contributors

Overall, 13 active Bootlin engineers made contributions to this release, which on a total staff of 24 people, means that more than half of our team has contributed to the Linux kernel for 6.12, a good indication of our strong focus on Linux kernel development and upstreaming!

Now looking at our contributions to 6.12, from a high-level:

  • Hervé Codina was our most prolific contributor, with 38 patches. Hervé has put the final touch to a massive effort aiming at supporting a very complex audio topology on fairly old Freescale/NXP platforms. This last bits of work have been focused on improving the drivers he had submitted to drivers/soc/fsl/qe to also support the MPC8312 processor, which has a slightly different QMC hardware block. We hope to publish soon a very detailed blog post on this work that spanned over several years and finally came to an end with these last patches!
  • Maxime Chevallier was the second most prolific contributor, with 25 patches merged. He mostly got his Ethernet PHY topology work merged, which he had presented on at Netdev last year and at Linux Plumbers this year. He also converted the fs_enet Ethernet MAC driver to the phylink API.
  • Miquèl Raynal was (as usual) active on the MTD subsystem, where he was mostly focused on improving the SPI NAND subsystem to support continuous read. Continuous read is an optimization that allows to improve the performance when reads from contiguous pages are made. The cover letter states: overall the speed gains are impressive: up to 45% when reading a block in 1-1-4 mode, where a substantial time is lost waiting for the chip to be ready.
  • Luca Ceresoli got his improvements to the dapm-graph and decode_stacktrace.sh tools merged.
  • Thomas Bonnefille, who worked as an engineering intern at Bootlin and recently joined as a full-time employee, saw his very first Linux kernel driver merged, an IIO driver for the ADC found in Sophgo RISC-V processors: drivers/iio/adc/sophgo-cv1800b-adc.c.
  • Thomas Richard improved power management support in the PCI code used on Texas Instruments platforms.
  • Théo Lebrun managed to get the pinctrl and reset drivers for the Mobileye EyeQ MIPS processors merged. He also worked with Thomas Richard on the Texas Instruments PCI power management effort.
  • Alexis Lothoré did quite a bit of work on eBPF tests, funded by the eBPF Foundation: he converted test_xdp_veth, test_dev_cgroup, get_current_cgroup_id_user, test_cgroup_stroage and test_skb_cgroup_id_user to the test_progs infrastructure.
  • Romain Gantois made a single contribution, but it adds a new feature to the TI TLV320AIC31xx audio codec driver. This feature allows to load filter coefficients from a firmware file, providing the ability to fine-tune the codec configuration.
  • Alexandre Belloni, Bastien Curutchet, Köry Maincent and Louis Chauvet also got a small number of patches merged, mostly fixes or small improvements. A patch from Clément Léger, who left Bootlin more than a year ago, also made its way upstream.

Here is the complete details of our 118 contributions to this kernel release:

Debugging, tracing and profiling training updated with new eBPF content

Back in January 2023, we announced the availability of a new Bootlin training course  “Linux debugging, profiling, tracing and performance analysis”, initially developed and taught by former Bootlin engineer Clement Léger. A year and a half later, the training course, now taught by Bootlin engineers Luca Ceresoli and Alexis Lothoré, is one of the most requested amongst Bootlin training courses.

Following the feedback received from many people who attended the course, we are happy to announce that a new version of the training is available and  now includes a whole new part about eBPF technology !

Continue reading “Debugging, tracing and profiling training updated with new eBPF content”