Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix comments.
[simgrid.git] / src / surf / cpu_interface.cpp
index f85cce4..63effaa 100644 (file)
@@ -72,6 +72,14 @@ Cpu::Cpu(Model* model, s4u::Host* host, lmm::Constraint* constraint, const std::
   xbt_assert(speed_.scale > 0, "Speed of host %s must be >0", host->get_cname());
 }
 
+void Cpu::reset_vcpu(Cpu* that)
+{
+  this->pstate_ = that->pstate_;
+  this->speed_  = that->speed_;
+  this->speed_per_pstate_.clear();
+  this->speed_per_pstate_.assign(that->speed_per_pstate_.begin(), that->speed_per_pstate_.end());
+}
+
 int Cpu::get_pstate_count() const
 {
   return speed_per_pstate_.size();
@@ -188,7 +196,7 @@ std::list<Cpu*> CpuAction::cpus() const
     /* Beware of composite actions: ptasks put links and cpus together */
     // extra pb: we cannot dynamic_cast from void*...
     Resource* resource = get_variable()->get_constraint(i)->get_id();
-    Cpu* cpu           = dynamic_cast<Cpu*>(resource);
+    auto* cpu          = dynamic_cast<Cpu*>(resource);
     if (cpu != nullptr)
       retlist.push_back(cpu);
   }