Merge "devices: virtcpufreq: Use default factor if crosvm can't read governor" into main
diff --git a/devices/src/virtcpufreq.rs b/devices/src/virtcpufreq.rs
index b896096..c01ac4e 100644
--- a/devices/src/virtcpufreq.rs
+++ b/devices/src/virtcpufreq.rs
@@ -59,8 +59,13 @@
get_cpu_info(cpu_id, "cpufreq/scaling_cur_freq")
}
+fn handle_read_err(err: Error) -> String {
+ warn!("Unable to get cpufreq governor, using 100% default util factor. Err: {:?}", err);
+ "unknown_governor".to_string()
+}
+
fn get_cpu_util_factor(cpu_id: u32) -> Result<u32, Error> {
- let gov = get_cpu_info_str(cpu_id, "cpufreq/scaling_governor")?;
+ let gov = get_cpu_info_str(cpu_id, "cpufreq/scaling_governor").unwrap_or_else(handle_read_err);
match gov.trim() {
"schedutil" => Ok(CPUFREQ_GOV_SCALE_FACTOR_SCHEDUTIL),
_ => Ok(CPUFREQ_GOV_SCALE_FACTOR_DEFAULT),