Revert "Use crosvm's --host-cpu-topology option"

This reverts commit 1afbc0e8358965355813e323ac7c033addada35a.

Reason for revert: Significant reduction in performance in
some runs.

Bug: 266664564
Test: atest -p packages/modules/Virtualization:avf-presubmit
Change-Id: I85dffca279d2267eefe1c5b621d3e1dd78072830
diff --git a/virtualizationmanager/src/atom.rs b/virtualizationmanager/src/atom.rs
index 5c1f394..567fce9 100644
--- a/virtualizationmanager/src/atom.rs
+++ b/virtualizationmanager/src/atom.rs
@@ -82,7 +82,7 @@
 // Returns the number of CPUs configured in the host system.
 // This matches how crosvm determines the number of logical cores.
 // For telemetry purposes only.
-fn get_num_cpus() -> Option<usize> {
+pub(crate) fn get_num_cpus() -> Option<usize> {
     // SAFETY - Only integer constants passed back and forth.
     let ret = unsafe { libc::sysconf(libc::_SC_NPROCESSORS_CONF) };
     if ret > 0 {
diff --git a/virtualizationmanager/src/crosvm.rs b/virtualizationmanager/src/crosvm.rs
index 66efba9..ea1146e 100644
--- a/virtualizationmanager/src/crosvm.rs
+++ b/virtualizationmanager/src/crosvm.rs
@@ -15,7 +15,7 @@
 //! Functions for running instances of `crosvm`.
 
 use crate::aidl::{remove_temporary_files, Cid, VirtualMachineCallbacks};
-use crate::atom::write_vm_exited_stats;
+use crate::atom::{get_num_cpus, write_vm_exited_stats};
 use anyhow::{anyhow, bail, Context, Error, Result};
 use command_fds::CommandFdExt;
 use lazy_static::lazy_static;
@@ -734,7 +734,12 @@
     }
 
     if config.host_cpu_topology {
-        command.arg("--host-cpu-topology");
+        // TODO(b/266664564): replace with --host-cpu-topology once available
+        if let Some(cpus) = get_num_cpus() {
+            command.arg("--cpus").arg(cpus.to_string());
+        } else {
+            bail!("Could not determine the number of CPUs in the system");
+        }
     }
 
     if !config.task_profiles.is_empty() {