Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
properly turn on and off hosts when apply trace event
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Sun, 5 Aug 2018 13:35:14 +0000 (15:35 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Sun, 5 Aug 2018 18:54:59 +0000 (20:54 +0200)
src/surf/cpu_cas01.cpp
src/surf/cpu_ti.cpp
src/surf/ptask_L07.cpp

index 62e69e2..b594980 100644 (file)
@@ -130,16 +130,17 @@ void CpuCas01::apply_event(tmgr_trace_event_t event, double value)
     xbt_assert(get_core_count() == 1, "FIXME: add state change code also for constraint_core[i]");
 
     if (value > 0) {
-      if (is_off())
+      if (is_off()) {
         host_that_restart.push_back(get_host());
-      turn_on();
+        get_host()->turn_on();
+      }
     } else {
       kernel::lmm::Constraint* cnst = get_constraint();
       kernel::lmm::Variable* var    = nullptr;
       const kernel::lmm::Element* elem = nullptr;
       double date              = surf_get_clock();
 
-      turn_off();
+      get_host()->turn_off();
 
       while ((var = cnst->get_variable(&elem))) {
         kernel::resource::Action* action = static_cast<kernel::resource::Action*>(var->get_id());
index 99d32a6..c7f6266 100644 (file)
@@ -398,11 +398,12 @@ void CpuTi::apply_event(tmgr_trace_event_t event, double value)
 
   } else if (event == state_event_) {
     if (value > 0) {
-      if (is_off())
+      if (is_off()) {
         host_that_restart.push_back(get_host());
-      turn_on();
+        get_host()->turn_on();
+      }
     } else {
-      turn_off();
+      get_host()->turn_off();
       double date = surf_get_clock();
 
       /* put all action running on cpu to failed */
index bffa333..6e75461 100644 (file)
@@ -315,10 +315,13 @@ void CpuL07::apply_event(tmgr_trace_event_t triggered, double value)
     tmgr_trace_event_unref(&speed_.event);
 
   } else if (triggered == state_event_) {
-    if (value > 0)
-      turn_on();
-    else
-      turn_off();
+    if (value > 0) {
+      if (is_off()) {
+        host_that_restart.push_back(get_host());
+        get_host()->turn_on();
+      }
+    } else
+      get_host()->turn_off();
     tmgr_trace_event_unref(&state_event_);
 
   } else {