cpuplugd: Allow cpu hotplugging on systems without polarization

Cpuplugd checks for system polarization before adjusting cpu hotplug
states. Currently, if the sysfs attribute for polarization is not
present cpuplugd does not make any adjustments. Add a new polarization
type PLR_NONE to reflect systems with no polarization state and allow
cpuplugd to adjust cpu hotplugging.

Signed-off-by: Mete Durlu <meted@linux.ibm.com>
Reviewed-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Mete Durlu
2025-03-19 18:38:44 +01:00
committed by Jan Höppner
parent 829fc3b294
commit 253ca8a30e
3 changed files with 4 additions and 2 deletions

View File

@@ -314,8 +314,7 @@ void check_config()
cpuplugd_debug("Daemon started with vertical polarization.\n");
cpuplugd_debug("Cpu adjustments won't be made until system ");
cpuplugd_debug("is in horizontal polarization\n");
} else if (saved_polarization == PLR_HORIZONTAL &&
cpu == 1) {
} else if (cpu == 1) {
apply_cpu_config();
}
if (memory == 1) {

View File

@@ -87,6 +87,8 @@ int get_polarization(void)
char *path;
path = util_path_sysfs("devices/system/cpu/dispatching");
if (!util_path_exists(path))
return PLR_NONE;
if (util_file_read_i(&polarization, NUM_BASE, path) < 0) {
polarization = -1;
cpuplugd_debug("failed to read system polarization\n");

View File

@@ -40,6 +40,7 @@
#define CPUSTATS 10
#define PLR_HORIZONTAL 0
#define PLR_VERTICAL 1
#define PLR_NONE 2
/*
* Precedence of C operators