Linux Updates Enhance Performance and Efficiency on Raspberry Pi

The big picture: The Raspberry Pi project was initially conceived to promote the teaching of basic computer science in schools, but also became a hit with enthusiasts. Raspberry Pi boards are now used for an endless array of hobbyist projects, and developers are continuously working to improve the device’s compatibility with Linux-based operating systems.

Single-board computers (SBC) developed by the Raspberry Pi Foundation are designed for low-energy projects and affordable custom computing devices, but there is always room for improvement on the software side. The Linux kernel, used by most Raspberry Pi-compatible operating systems including the official Raspberry Pi OS, was recently updated with two patches designed to enhance functionality.

The first patch implements initial Suspend-To-Idle (s2idle) support for the Arm-based BCM2835 SoC, which is the chip used in older Raspberry Pi models (Pi 1 to Pi 3). Developer Stefan Wahren focused exclusively on this particular SoC because it is less complex than those used in later models and has ample documentation.

Linux S2idle is a type of suspended state defined by the ACPI standard, a power management technology used by operating systems to manage energy on PCs and other computing devices. ACPI includes four different suspension states (S0, S1, S3, S4), with S4 being hibernation, where RAM content is saved to disk before shutdown.

S2idle puts a machine in “freeze” mode, stopping the device from running. The Raspberry Pi-focused patch can apparently offer a small energy saving, amounting to only a third of a watt. While this may seem insignificant, it adds up when considering the millions of Raspberry Pi units currently in use.

The second patch adds a “very simple” implementation of NUMA (non-uniform memory access) emulation for arm64 platforms. NUMA is a well-known technology in the Linux world and is useful for optimizing memory access by splitting the physical RAM into chunks. According to the patch developer, through a specific allocation policy such as interleaving, the memory controller used by the Raspberry Pi 5 (BCM2712) can exploit better parallelism in the physical organization of memory chips.

The end result of NUMA emulation is a “significant” performance increase on Raspberry Pi 5 boards. Geekbench 6 results show a six percent increase in single-core performance, while multi-core performance goes up by 18 percent. The patch developer also noted that the default Linux allocation policy is not interleaving, and “further steps” are required to unlock the performance improvements in a Raspberry Pi 5 project.

Recent Posts



Scroll to Top