diff --git a/daemon/gamemode-cpu.c b/daemon/gamemode-cpu.c index 948ae50..4412ad5 100644 --- a/daemon/gamemode-cpu.c +++ b/daemon/gamemode-cpu.c @@ -35,8 +35,8 @@ POSSIBILITY OF SUCH DAMAGE. #include #include -#include "common-external.h" #include "common-cpu.h" +#include "common-external.h" #include "common-helpers.h" #include "common-logging.h" @@ -86,12 +86,13 @@ static int walk_sysfs(char *cpulist, char **buf, size_t *buflen, GameModeCPUInfo CPU_SET_S((size_t)cpu, CPU_ALLOC_SIZE(info->num_cpu), info->online); /* check for L3 cache non-uniformity among the cores */ - int ret = snprintf(path, PATH_MAX, "/sys/devices/system/cpu/cpu%ld/cache/index3/size", cpu); + int ret = + snprintf(path, PATH_MAX, "/sys/devices/system/cpu/cpu%ld/cache/index3/size", cpu); if (ret > 0 && ret < PATH_MAX) { if (read_small_file(path, buf, buflen)) { char *endp; - unsigned long long cache_size = strtoull (*buf, &endp, 10); + unsigned long long cache_size = strtoull(*buf, &endp, 10); if (*endp == 'K') { cache_size *= 1024; @@ -115,11 +116,14 @@ static int walk_sysfs(char *cpulist, char **buf, size_t *buflen, GameModeCPUInfo } /* check for frequency non-uniformity among the cores */ - ret = snprintf(path, PATH_MAX, "/sys/devices/system/cpu/cpu%ld/cpufreq/cpuinfo_max_freq", cpu); + ret = snprintf(path, + PATH_MAX, + "/sys/devices/system/cpu/cpu%ld/cpufreq/cpuinfo_max_freq", + cpu); if (ret > 0 && ret < PATH_MAX) { if (read_small_file(path, buf, buflen)) { - unsigned long long freq = strtoull (*buf, NULL, 10); + unsigned long long freq = strtoull(*buf, NULL, 10); unsigned long long cutoff = (freq * 5) / 100; if (freq > max_freq) { @@ -136,13 +140,15 @@ static int walk_sysfs(char *cpulist, char **buf, size_t *buflen, GameModeCPUInfo } } - if (CPU_EQUAL_S(CPU_ALLOC_SIZE(info->num_cpu), info->online, info->to_keep) || CPU_COUNT_S(CPU_ALLOC_SIZE(info->num_cpu), info->to_keep) == 0) { + if (CPU_EQUAL_S(CPU_ALLOC_SIZE(info->num_cpu), info->online, info->to_keep) || + CPU_COUNT_S(CPU_ALLOC_SIZE(info->num_cpu), info->to_keep) == 0) { LOG_MSG("cpu L3 cache was uniform, this is not a x3D with multiple chiplets\n"); CPU_FREE(info->to_keep); info->to_keep = freq_cores; - if (CPU_EQUAL_S(CPU_ALLOC_SIZE(info->num_cpu), info->online, info->to_keep) || CPU_COUNT_S(CPU_ALLOC_SIZE(info->num_cpu), info->to_keep) == 0) + if (CPU_EQUAL_S(CPU_ALLOC_SIZE(info->num_cpu), info->online, info->to_keep) || + CPU_COUNT_S(CPU_ALLOC_SIZE(info->num_cpu), info->to_keep) == 0) LOG_MSG("cpu frequency was uniform, this is not a big.LITTLE type of system\n"); } else { CPU_FREE(freq_cores); @@ -195,9 +201,11 @@ int game_mode_initialise_cpu(GameModeConfig *config, GameModeCPUInfo **info) int park_or_pin = -1; if (pin_cores[0] != '\0') { - if (strcasecmp(pin_cores, "no") == 0 || strcasecmp(pin_cores, "false") == 0 || strcmp(pin_cores, "0") == 0) { + if (strcasecmp(pin_cores, "no") == 0 || strcasecmp(pin_cores, "false") == 0 || + strcmp(pin_cores, "0") == 0) { park_or_pin = -2; - } else if (strcasecmp(pin_cores, "yes") == 0 || strcasecmp(pin_cores, "true") == 0 || strcmp(pin_cores, "1") == 0) { + } else if (strcasecmp(pin_cores, "yes") == 0 || strcasecmp(pin_cores, "true") == 0 || + strcmp(pin_cores, "1") == 0) { pin_cores[0] = '\0'; park_or_pin = 1; } else { @@ -206,12 +214,14 @@ int game_mode_initialise_cpu(GameModeConfig *config, GameModeCPUInfo **info) } if (park_or_pin < 1 && park_cores[0] != '\0') { - if (strcasecmp(park_cores, "no") == 0 || strcasecmp(park_cores, "false") == 0 || strcmp(park_cores, "0") == 0) { + if (strcasecmp(park_cores, "no") == 0 || strcasecmp(park_cores, "false") == 0 || + strcmp(park_cores, "0") == 0) { if (park_or_pin == -2) return 0; park_or_pin = -1; - } else if (strcasecmp(park_cores, "yes") == 0 || strcasecmp(park_cores, "true") == 0 || strcmp(park_cores, "1") == 0) { + } else if (strcasecmp(park_cores, "yes") == 0 || strcasecmp(park_cores, "true") == 0 || + strcmp(park_cores, "1") == 0) { park_cores[0] = '\0'; park_or_pin = 0; } else { @@ -264,7 +274,8 @@ int game_mode_initialise_cpu(GameModeConfig *config, GameModeCPUInfo **info) goto error_exit; } - if (park_or_pin == 0 && CPU_EQUAL_S(CPU_ALLOC_SIZE(new_info->num_cpu), new_info->online, new_info->to_keep)) { + if (park_or_pin == 0 && + CPU_EQUAL_S(CPU_ALLOC_SIZE(new_info->num_cpu), new_info->online, new_info->to_keep)) { game_mode_free_cpu(&new_info); LOG_MSG("I can find no reason to perform core parking on this system!\n"); goto error_exit; @@ -272,20 +283,22 @@ int game_mode_initialise_cpu(GameModeConfig *config, GameModeCPUInfo **info) if (CPU_COUNT_S(CPU_ALLOC_SIZE(new_info->num_cpu), new_info->to_keep) < 4) { game_mode_free_cpu(&new_info); - LOG_MSG("logic or config would result in less than 4 active cores, will not apply cpu core parking/pinning!\n"); + LOG_MSG( + "logic or config would result in less than 4 active cores, will not apply cpu core " + "parking/pinning!\n"); goto error_exit; } *info = new_info; early_exit: - free (buf); - free (buf2); + free(buf); + free(buf2); return 0; error_exit: - free (buf); - free (buf2); + free(buf); + free(buf2); return -1; } @@ -306,7 +319,7 @@ static int log_state(char *cpulist, int *pos, const long first, const long last) if (first == last) ret = snprintf(cpulist + *pos, ARG_MAX - (size_t)*pos, "%ld", first); else - ret = snprintf(cpulist + *pos, ARG_MAX - (size_t)*pos, "%ld-%ld", first,last); + ret = snprintf(cpulist + *pos, ARG_MAX - (size_t)*pos, "%ld-%ld", first, last); if (ret < 0 || (size_t)ret >= (ARG_MAX - (size_t)*pos)) { LOG_ERROR("snprintf failed, will not apply cpu core parking!\n"); @@ -328,7 +341,8 @@ int game_mode_park_cpu(const GameModeCPUInfo *info) int pos = 0; for (long cpu = 0; cpu < (long)(info->num_cpu); cpu++) { - if (CPU_ISSET_S((size_t)cpu, CPU_ALLOC_SIZE(info->num_cpu), info->online) && !CPU_ISSET_S((size_t)cpu, CPU_ALLOC_SIZE(info->num_cpu), info->to_keep)) { + if (CPU_ISSET_S((size_t)cpu, CPU_ALLOC_SIZE(info->num_cpu), info->online) && + !CPU_ISSET_S((size_t)cpu, CPU_ALLOC_SIZE(info->num_cpu), info->to_keep)) { if (first == -1) { first = cpu; last = cpu; @@ -372,7 +386,8 @@ int game_mode_unpark_cpu(const GameModeCPUInfo *info) int pos = 0; for (long cpu = 0; cpu < (long)(info->num_cpu); cpu++) { - if (CPU_ISSET_S((size_t)cpu, CPU_ALLOC_SIZE(info->num_cpu), info->online) && !CPU_ISSET_S((size_t)cpu, CPU_ALLOC_SIZE(info->num_cpu), info->to_keep)) { + if (CPU_ISSET_S((size_t)cpu, CPU_ALLOC_SIZE(info->num_cpu), info->online) && + !CPU_ISSET_S((size_t)cpu, CPU_ALLOC_SIZE(info->num_cpu), info->to_keep)) { if (first == -1) { first = cpu; last = cpu;