Messages in this thread | | | From | Daniel Lezcano <> | Subject | [PATCH 0/4] powercap/dtpm: Add the DTPM framework | Date | Tue, 6 Oct 2020 14:20:20 +0200 |
| |
The density of components greatly increased the last decade bringing a numerous number of heating sources which are monitored by more than 20 sensors on recent SoC. The skin temperature, which is the case temperature of the device, must stay below approximately 45°C in order to comply with the legal requirements.
The skin temperature is managed as a whole by an user space daemon, which is catching the current application profile, to allocate a power budget to the different components where the resulting heating effect will comply with the skin temperature constraint.
This technique is called the Dynamic Thermal Power Management.
The Linux kernel does not provide any unified interface to act on the power of the different devices. Currently, the thermal framework is changed to export artificially the performance states of different devices via the cooling device software component with opaque values. This change is done regardless of the in-kernel logic to mitigate the temperature. The user space daemon uses all the available knobs to act on the power limit and those differ from one platform to another.
This series provides a Dynamic Thermal Power Management framework to provide an unified way to act on the power of the devices.
Daniel Lezcano (4): units: Add Watt units Documentation/powercap/dtpm: Add documentation for dtpm powercap/drivers/dtpm: Add API for dynamic thermal power management powercap/drivers/dtpm: Add CPU energy model based support
Documentation/power/powercap/dtpm.rst | 222 +++++++++++++ drivers/powercap/Kconfig | 14 + drivers/powercap/Makefile | 2 + drivers/powercap/dtpm.c | 430 ++++++++++++++++++++++++++ drivers/powercap/dtpm_cpu.c | 242 +++++++++++++++ include/asm-generic/vmlinux.lds.h | 11 + include/linux/cpuhotplug.h | 1 + include/linux/dtpm.h | 76 +++++ include/linux/units.h | 4 + 9 files changed, 1002 insertions(+) create mode 100644 Documentation/power/powercap/dtpm.rst create mode 100644 drivers/powercap/dtpm.c create mode 100644 drivers/powercap/dtpm_cpu.c create mode 100644 include/linux/dtpm.h
-- 2.17.1
| |