xbt_assert(cpu, "Host %s undefined", elm);
xbt_assert(trace, "Trace %s undefined", trace_name);
- XBT_DEBUG("Add speed trace: %s to CPU(%s)", trace_name, elm);
- if (cpu->p_availTrace)
- delete cpu->p_availTrace;
-
- cpu->p_availTrace = new CpuTiTgmr(trace, cpu->m_speedScale);
-
- /* add a fake trace event if periodicity == 0 */
- if (trace && xbt_dynar_length(trace->s_list.event_list) > 1) {
- s_tmgr_event_t val;
- xbt_dynar_get_cpy(trace->s_list.event_list,
- xbt_dynar_length(trace->s_list.event_list) - 1, &val);
- if (val.delta == 0) {
- cpu->set_speed_trace(tmgr_empty_trace_new());
- }
- }
+ cpu->set_speed_trace(trace);
}
}
delete p_availTrace;
delete p_actionSet;
}
+void CpuTi::set_speed_trace(tmgr_trace_t trace)
+{
+ if (p_availTrace)
+ delete p_availTrace;
+
+ p_availTrace = new CpuTiTgmr(trace, m_speedScale);
+
+ /* add a fake trace event if periodicity == 0 */
+ if (trace && xbt_dynar_length(trace->s_list.event_list) > 1) {
+ s_tmgr_event_t val;
+ xbt_dynar_get_cpy(trace->s_list.event_list,
+ xbt_dynar_length(trace->s_list.event_list) - 1, &val);
+ if (val.delta == 0) {
+ p_speedEvent = future_evt_set->add_trace(tmgr_empty_trace_new(), 0.0, this);
+ }
+ }
+}
void CpuTi::updateState(tmgr_trace_iterator_t event_type,
double value, double date)
int initiallyOn, tmgr_trace_t stateTrace) ;
~CpuTi();
+ void set_speed_trace(tmgr_trace_t trace);
+
void updateState(tmgr_trace_iterator_t event_type, double value, double date) override;
void updateActionsFinishTime(double now);
bool isUsed() override;