/* * Print out the current CPU settings as configured either from * the cpufreq sysfs files or the intel_pstate sysfs files. */ void printCpuValues(const Cpu &cpu) { if (Log::isOutputCapable()) { printVersion(); std::ostringstream oss; oss << Color::boldWhite() << " pstate::" << Color::boldGreen() << "CPU_DRIVER -> " << Color::boldCyan() << cpu.getDriver() << std::endl; oss << Color::boldWhite() << " pstate::" << Color::boldGreen() << "CPU_GOVERNOR -> " << Color::boldCyan() << cpu.getGovernor() << std::endl; const int turbo = cpu.getTurboBoost(); oss << Color::boldWhite() << " pstate::" << Color::boldGreen() << (cpu.hasPstate() ? "NO_TURBO -> " : "TURBO_BOOST -> ") << Color::boldCyan() << turbo << " : " << (cpu.hasPstate() ? (turbo == 1 ? "OFF" : "ON") : (turbo == 1 ? "ON" : "OFF")) << std::endl; oss << Color::boldWhite() << " pstate::" << Color::boldGreen() << "CPU_MIN -> " << Color::boldCyan() << cpu.getMinValue() << "% : " << static_cast<int>(cpu.getScalingMinFrequency()) << "KHz" << std::endl; oss << Color::boldWhite() << " pstate::" << Color::boldGreen() << "CPU_MAX -> " << Color::boldCyan() << cpu.getMaxValue() << "% : " << static_cast<int>(cpu.getScalingMaxFrequency()) << "KHz" << std::endl; oss << Color::reset(); std::cout << oss.str(); } }
static int turboFromOptArg(const Cpu &cpu, char *const arg) { const std::string convertedArg(arg); int turbo; if (cpu.hasPstate()) { if (Log::isDebug()) { std::cout << "[Debug] System has intel_pstate" << std::endl; } if (convertedArg.compare("0") == 0 || stringStartsWith("on", convertedArg)) { if (Log::isDebug()) { std::cout << "[Debug] Turbo On" << std::endl; } turbo = Values::PSTATE_TURBO; } else if (convertedArg.compare("1") == 0 || stringStartsWith("off", convertedArg)) { if (Log::isDebug()) { std::cout << "[Debug] Turbo Off" << std::endl; } turbo = Values::PSTATE_NO_TURBO; } else { if (Log::isDebug()) { std::cout << "[Debug] Turbo is insane" << std::endl; } turbo = Values::TURBO_INSANE; } } else { if (Log::isDebug()) { std::cout << "[Debug] System does not have " << "intel_pstate" << std::endl; } if (convertedArg.compare("0") == 0 || stringStartsWith("off", convertedArg)) { if (Log::isDebug()) { std::cout << "[Debug] Turbo Off" << std::endl; } turbo = Values::CPUFREQ_NO_TURBO; } else if (convertedArg.compare("1") == 0 || stringStartsWith("on", convertedArg)) { if (Log::isDebug()) { std::cout << "[Debug] Turbo On" << std::endl; } turbo = Values::CPUFREQ_TURBO; } else { if (Log::isDebug()) { std::cout << "[Debug] Turbo is insane" << std::endl; } turbo = Values::TURBO_INSANE; } } return turbo; }