Set task profile when running compilation VM
Use the new VMCompilationPerformance profile when running the
compilation VM to speed up. To do so, VirtualMachine{App|Raw}Config
parcelables are extended and the vm tool was also extended to accept
"--task-profiles" flag.
Ignore-AOSP-First: cherry-pick from AOSP
Bug: 223790172
Test: adb shell /apex/com.android.compos/bin/composd_cmd test-compile
Merged-In: I4b24ea353b6f93316ecdfe1023b3b8d315d57cc8
Change-Id: I4b24ea353b6f93316ecdfe1023b3b8d315d57cc8
diff --git a/virtualizationservice/src/crosvm.rs b/virtualizationservice/src/crosvm.rs
index f1b179e..b184dca 100644
--- a/virtualizationservice/src/crosvm.rs
+++ b/virtualizationservice/src/crosvm.rs
@@ -64,6 +64,7 @@
pub memory_mib: Option<NonZeroU32>,
pub cpus: Option<NonZeroU32>,
pub cpu_affinity: Option<String>,
+ pub task_profiles: Vec<String>,
pub console_fd: Option<File>,
pub log_fd: Option<File>,
pub indirect_files: Vec<File>,
@@ -326,6 +327,10 @@
command.arg("--cpu-affinity").arg(cpu_affinity);
}
+ if !config.task_profiles.is_empty() {
+ command.arg("--task-profiles").arg(config.task_profiles.join(","));
+ }
+
// Keep track of what file descriptors should be mapped to the crosvm process.
let mut preserved_fds = config.indirect_files.iter().map(|file| file.as_raw_fd()).collect();