mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2025-02-22 19:32:20 +00:00
vmm: cpu: Add info!() level debugging to vCPU handling
These messages are intended to be useful to support debugging related to vCPU hotplug/unplug issues. Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
parent
3c2bfbdc95
commit
b107bfcf2c
@ -692,6 +692,8 @@ impl CpuManager {
|
||||
entry_point: Option<EntryPoint>,
|
||||
snapshot: Option<Snapshot>,
|
||||
) -> Result<Arc<Mutex<Vcpu>>> {
|
||||
info!("Creating vCPU: cpu_id = {}", cpu_id);
|
||||
|
||||
let interrupt_controller = if let Some(interrupt_controller) = &self.interrupt_controller {
|
||||
Some(interrupt_controller.clone())
|
||||
} else {
|
||||
@ -749,6 +751,14 @@ impl CpuManager {
|
||||
}
|
||||
|
||||
fn create_vcpus(&mut self, desired_vcpus: u8, entry_point: Option<EntryPoint>) -> Result<()> {
|
||||
info!(
|
||||
"Request to create new vCPUs: desired = {}, max = {}, allocated = {}, present = {}",
|
||||
desired_vcpus,
|
||||
self.config.max_vcpus,
|
||||
self.vcpus.len(),
|
||||
self.present_vcpus()
|
||||
);
|
||||
|
||||
if desired_vcpus > self.config.max_vcpus {
|
||||
return Err(Error::DesiredVCPUCountExceedsMax);
|
||||
}
|
||||
@ -777,6 +787,8 @@ impl CpuManager {
|
||||
.vcpu_run_interrupted
|
||||
.clone();
|
||||
|
||||
info!("Starting vCPU: cpu_id = {}", cpu_id);
|
||||
|
||||
let handle = Some(
|
||||
thread::Builder::new()
|
||||
.name(format!("vcpu{}", cpu_id))
|
||||
@ -856,6 +868,13 @@ impl CpuManager {
|
||||
(desired_vcpus - self.present_vcpus() + 1) as usize,
|
||||
));
|
||||
|
||||
info!(
|
||||
"Starting vCPUs: desired = {}, allocated = {}, present = {}",
|
||||
desired_vcpus,
|
||||
self.vcpus.len(),
|
||||
self.present_vcpus()
|
||||
);
|
||||
|
||||
for cpu_id in self.present_vcpus()..desired_vcpus {
|
||||
let vcpu = Arc::clone(&self.vcpus[cpu_id as usize]);
|
||||
self.start_vcpu(vcpu, vcpu_thread_barrier.clone(), inserting)?;
|
||||
@ -875,6 +894,7 @@ impl CpuManager {
|
||||
}
|
||||
|
||||
fn remove_vcpu(&mut self, cpu_id: u8) -> Result<()> {
|
||||
info!("Removing vCPU: cpu_id = {}", cpu_id);
|
||||
let mut state = &mut self.vcpu_states[usize::from(cpu_id)];
|
||||
state.kill.store(true, Ordering::SeqCst);
|
||||
state.signal_thread();
|
||||
|
Loading…
x
Reference in New Issue
Block a user