/**
* \brief Auxiliary function to compute the integral between a and b.
* It simply computes the integrals at point a and b and returns the difference between them.
- * \param trace Trace structure
- * \param a Initial point
+ * \param a Initial point
* \param b Final point
- * \return Integral
*/
double CpuTiTrace::integrateSimple(double a, double b)
{
/**
* \brief Auxiliary function to compute the integral at point a.
- * \param trace Trace structure
* \param a point
- * \return Integral
*/
double CpuTiTrace::integrateSimplePoint(double a)
{
surf_cpu_model_vm = new simgrid::surf::CpuTiModel();
xbt_dynar_push(all_existing_models, &surf_cpu_model_vm);
-
- simgrid::surf::on_postparse.connect([]() {
- surf_cpu_model_pm->addTraces();
- });
}
namespace simgrid {
}
}
-void CpuTiModel::addTraces()
-{
- xbt_dict_cursor_t cursor = NULL;
- char *trace_name, *elm;
-
- static int called = 0;
-
- if (called)
- return;
- called = 1;
-
-/* connect all traces relative to hosts */
- xbt_dict_foreach(trace_connect_list_host_speed, cursor, trace_name, elm) {
- tmgr_trace_t trace = (tmgr_trace_t) xbt_dict_get_or_null(traces_set_list, trace_name);
- CpuTi *cpu = static_cast<CpuTi*>(sg_host_by_name(elm)->pimpl_cpu);
-
- xbt_assert(cpu, "Host %s undefined", elm);
- xbt_assert(trace, "Trace %s undefined", trace_name);
-
- cpu->set_speed_trace(trace);
- }
-}
-
/************
* Resource *
************/
void CpuTi::apply_event(tmgr_trace_iterator_t event, double value)
{
- CpuTiAction *action;
-
if (event == p_speed.event) {
tmgr_trace_t speedTrace;
CpuTiTgmr *trace;
/* put all action running on cpu to failed */
for(ActionTiList::iterator it(p_actionSet->begin()), itend(p_actionSet->end())
; it != itend ; ++it) {
- action = &*it;
+
+ CpuTiAction *action = &*it;
if (action->getState() == SURF_ACTION_RUNNING
|| action->getState() == SURF_ACTION_READY
|| action->getState() == SURF_ACTION_NOT_IN_THE_SYSTEM) {
}
}
tmgr_trace_event_unref(&p_stateEvent);
+
} else {
xbt_die("Unknown event!\n");
}