mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-27 00:04:47 +08:00
bf44b9011d
MSR RAPL Interface always removes a rapl_package when all the CPUs in that rapl_package are offlined. This is because it relies on an online CPU to access the MSR. But for RAPL Interface using MMIO registers, when all the cpus within the rapl_package are offlined, 1. the register can still be accessed 2. monitoring and setting the Power Pimits for the rapl_package is still meaningful because of uncore power. This means that, a valid rapl_package doesn't rely on one or more cpus being onlined. For this sense, make cpu optional for rapl_package. A rapl_package can be registered either using a CPU id to represent the physical package/die, or using the physical package id directly. Note that, the thermal throttling interrupt is not disabled via MSR_IA32_PACKAGE_THERM_INTERRUPT for such rapl_package at the moment. If it is still needed in the future, this can be achieved by selecting an onlined CPU using the physical package id. Note that, processor_thermal_rapl, the current MMIO RAPL Interface driver, can also be converted to register using a package id instead. But this is not done right now because processor_thermal_rapl driver works on single-package systems only, and offlining the only package will not happen. So keep the previous logic. Signed-off-by: Zhang Rui <rui.zhang@intel.com> Tested-by: Wang Wendy <wendy.wang@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
||
---|---|---|
.. | ||
acpi_thermal_rel.c | ||
acpi_thermal_rel.h | ||
int340x_thermal_zone.c | ||
int340x_thermal_zone.h | ||
int3400_thermal.c | ||
int3401_thermal.c | ||
int3402_thermal.c | ||
int3403_thermal.c | ||
int3406_thermal.c | ||
Kconfig | ||
Makefile | ||
processor_thermal_device_pci_legacy.c | ||
processor_thermal_device_pci.c | ||
processor_thermal_device.c | ||
processor_thermal_device.h | ||
processor_thermal_mbox.c | ||
processor_thermal_rapl.c | ||
processor_thermal_rfim.c |