Presentation at the meeting of the Russian RISC‑V Alliance with a report on the practical implementation of power management for RISC‑V Linux kernels


Danil Skrebenkov, a St. Petersburg State University graduate student in Electronics and Nanoelectronics and our software development engineer, discussed and demonstrated how the OpenSBI stack and Linux kernel mechanisms can significantly reduce the power consumption of multi-core RISC-V clusters without losing functionality.

This presentation continues CloudBEAR's series of presentations at RISC-V events in Russia and abroad, where the company regularly shares its experience with the performance and power efficiency of its IP cores. The presentation focused on the applied aspects of power management: from the BI processor cluster architecture to integration with Linux subsystems.

Danil provided a detailed analysis of the processor complex from the perspective of power management for cores, cache, and coherency controller using the Power Management Unit. He demonstrated the procedure for preparing for low-power modes: setting PMU registers, switching memory blocks to power-down mode, disabling the clock signal, and clearing the cache before a complete shutdown. A separate section of the presentation was devoted to using the SBI HSM and SUSP extensions in OpenSBI to implement cpuidle, cpu_hotplug, and suspend-to-RAM. The speaker demonstrated how Linux manages kernel stop/start and system sleep via standard ecalls, while the CloudBEAR platform implements platform-specific power-saving logic.

In the Linux cpuidle subsystem, CloudBEAR kernels were configured in two states: "sleep," which puts memory into low-power mode and disables the clock, and "deep sleep," which performs an additional cache flush and disables memory power. Using synthetic single-threaded workloads, it was shown that in 4-core configurations, the total percentage of time spent by cores in idle states reaches 270–300% of the total system runtime, demonstrating the high efficiency of power-saving mechanisms during multi-threaded idle states.


While implementing cpu_hotplug, the team encountered an rfence echo issue in OpenSBI 1.7 and Linux, which occurred during hot-unplugging of a core. The solution was a patch to the Linux kernel that clears the task mask during hot-unplugging, enabling stable on-the-fly core switching.


Concluding his presentation, Danil noted that cpufreq and voltage management are not currently used due to the lack of a target SoC with a PLL and full support for dynamic power management, but CloudBEAR is ready to implement these mechanisms in collaboration with customers. We also touched on the internal RPMI approach, which places power management on a separate platform controller, reducing software requirements through smarter hardware support for latency and cache operations.

Thus, our report marked an important step for the Russian community: the emergence of a ready-made, integrated power management stack for Linux platforms in the domestic RISC-V ecosystem.