Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix conflict - Adrien
authorAd(rien) L <adrien.lebre@inria.fr>
Tue, 20 Oct 2015 12:51:28 +0000 (14:51 +0200)
committerAd(rien) L <adrien.lebre@inria.fr>
Tue, 20 Oct 2015 12:51:28 +0000 (14:51 +0200)
1  2 
src/surf/plugins/energy.cpp

@@@ -89,29 -85,19 +85,25 @@@ static void energyCpuDestructedCallback
    xbt_assert(cpu_energy_it != surf_energy->end(), "The cpu is not in surf_energy.");
  
    CpuEnergy *cpu_energy = cpu_energy_it->second;
-   if (cpu->getState() == SURF_RESOURCE_OFF)
-         update_consumption_off(cpu, cpu_energy);
-   else
-         update_consumption_running(cpu, cpu_energy);
+   update_consumption(cpu, cpu_energy);
  
 -  XBT_INFO("Total energy of host %s: %f Joules", cpu->getName(), cpu_energy->getConsumedEnergy());
 -  delete cpu_energy_it->second;
 -  surf_energy->erase(cpu_energy_it);
 +  // Adrien - October 2015, Changes related to VM energy extensions
 +  // Only report/delete and erase if the cpu_energy is related to a physical one
 +  if(cpu->isVirtual() == NULL){
 +    XBT_INFO("Total energy of host %s: %f Joules", cpu->getName(), cpu_energy->getConsumedEnergy());
 +    delete cpu_energy_it->second;
 +    surf_energy->erase(cpu_energy_it);
 +  }
 +
  }
  
  static void energyCpuActionStateChangedCallback(CpuAction *action, e_surf_action_state_t old, e_surf_action_state_t cur){
    Cpu *cpu  = getActionCpu(action);
 +
    CpuEnergy *cpu_energy = (*surf_energy)[cpu];
  
-   if(cpu_energy->last_updated < surf_get_clock()) {
-         update_consumption_running(cpu, cpu_energy);
-   }
+   if(cpu_energy->last_updated < surf_get_clock())
+         update_consumption(cpu, cpu_energy);
  }
  
  static void energyStateChangedCallback(Cpu *cpu, e_surf_resource_state_t oldState, e_surf_resource_state_t newState){
@@@ -218,14 -200,9 +206,11 @@@ double CpuEnergy::getCurrentWattsValue(
  
  double CpuEnergy::getConsumedEnergy()
  {
-       
-    if(last_updated < surf_get_clock()) {
-               if (cpu->getState() == SURF_RESOURCE_OFF)
-                       update_consumption_off(cpu, this);
-               else
-                       update_consumption_running(cpu, this);
-       }
-   return total_energy;
++
+       if(last_updated < surf_get_clock())
+               update_consumption(cpu, this);
+       return total_energy;
++
  }
  
  xbt_dynar_t CpuEnergy::getWattsRangeList()