diff --git a/vmm/src/config.rs b/vmm/src/config.rs index 00bf251f3..ca697c5e3 100644 --- a/vmm/src/config.rs +++ b/vmm/src/config.rs @@ -719,7 +719,7 @@ impl CpusConfig { v.0.iter() .map(|(e1, e2)| CpuAffinity { vcpu: *e1, - host_cpus: e2.clone(), + host_cpus: e2.clone().into_boxed_slice(), }) .collect() }); @@ -3694,16 +3694,16 @@ mod unit_tests { CpusConfig { boot_vcpus: 2, max_vcpus: 2, - affinity: Some(vec![ + affinity: Some(Box::new([ CpuAffinity { vcpu: 0, - host_cpus: vec![0, 2], + host_cpus: Box::new([0, 2]), }, CpuAffinity { vcpu: 1, - host_cpus: vec![1, 3], + host_cpus: Box::new([1, 3]), } - ]), + ])), ..Default::default() }, ); diff --git a/vmm/src/cpu.rs b/vmm/src/cpu.rs index 1f31ff61e..291f76f24 100644 --- a/vmm/src/cpu.rs +++ b/vmm/src/cpu.rs @@ -716,7 +716,7 @@ pub struct CpuManager { #[cfg_attr(target_arch = "aarch64", allow(dead_code))] acpi_address: Option, proximity_domain_per_cpu: BTreeMap, - affinity: BTreeMap>, + affinity: BTreeMap>, dynamic: bool, hypervisor: Arc, #[cfg(feature = "sev_snp")] diff --git a/vmm/src/vm_config.rs b/vmm/src/vm_config.rs index 6fefc8f06..489b7e5ce 100644 --- a/vmm/src/vm_config.rs +++ b/vmm/src/vm_config.rs @@ -30,7 +30,7 @@ pub(crate) trait ApplyLandlock { #[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] pub struct CpuAffinity { pub vcpu: u32, - pub host_cpus: Vec, + pub host_cpus: Box<[usize]>, } #[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)] @@ -76,7 +76,7 @@ pub struct CpusConfig { #[serde(default = "default_cpuconfig_max_phys_bits")] pub max_phys_bits: u8, #[serde(default)] - pub affinity: Option>, + pub affinity: Option>, #[serde(default)] pub features: CpuFeatures, #[serde(default = "default_cpusconfig_nested")]