X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/91514c39f291c0f0667d3b5781573d1e373ce0b6..30aca4d4af004d1ec899d12f0a9fe3997e9be15e:/src/surf/cpu_cas01.cpp diff --git a/src/surf/cpu_cas01.cpp b/src/surf/cpu_cas01.cpp index d581269985..cb11f06f61 100644 --- a/src/surf/cpu_cas01.cpp +++ b/src/surf/cpu_cas01.cpp @@ -38,23 +38,21 @@ namespace surf { CpuCas01Model::CpuCas01Model() : simgrid::surf::CpuModel() { char *optim = xbt_cfg_get_string("cpu/optim"); - int select = xbt_cfg_get_boolean("cpu/maxmin-selective-update"); + bool select = xbt_cfg_get_boolean("cpu/maxmin-selective-update"); if (!strcmp(optim, "Full")) { updateMechanism_ = UM_FULL; selectiveUpdate_ = select; } else if (!strcmp(optim, "Lazy")) { updateMechanism_ = UM_LAZY; - selectiveUpdate_ = 1; - xbt_assert((select == 1) - || (xbt_cfg_is_default_value("cpu/maxmin-selective-update")), + selectiveUpdate_ = true; + xbt_assert(select || (xbt_cfg_is_default_value("cpu/maxmin-selective-update")), "Disabling selective update while using the lazy update mechanism is dumb!"); } else { xbt_die("Unsupported optimization (%s) for this model", optim); } p_cpuRunningActionSetThatDoesNotNeedBeingChecked = new ActionList(); - maxminSystem_ = lmm_system_new(selectiveUpdate_); if (getUpdateMechanism() == UM_LAZY) { @@ -82,11 +80,6 @@ Cpu *CpuCas01Model::createCpu(simgrid::s4u::Host *host, std::vector *spe return new CpuCas01(this, host, speedPerPstate, core); } -double CpuCas01Model::next_occuring_event_full(double /*now*/) -{ - return Model::shareResourcesMaxMin(getRunningActionSet(), maxminSystem_, lmm_solve); -} - /************ * Resource * ************/ @@ -143,7 +136,7 @@ void CpuCas01::apply_event(tmgr_trace_iterator_t event, double value) if (value > 0) { if(isOff()) - xbt_dynar_push_as(host_that_restart, char*, (char *)getName()); + host_that_restart.push_back(getHost()); turnOn(); } else { lmm_constraint_t cnst = getConstraint(); @@ -173,11 +166,7 @@ void CpuCas01::apply_event(tmgr_trace_iterator_t event, double value) CpuAction *CpuCas01::execution_start(double size) { - XBT_IN("(%s,%g)", getName(), size); - CpuCas01Action *action = new CpuCas01Action(getModel(), size, isOff(), speed_.scale * speed_.peak, getConstraint()); - - XBT_OUT(); - return action; + return new CpuCas01Action(getModel(), size, isOff(), speed_.scale * speed_.peak, getConstraint()); } CpuAction *CpuCas01::sleep(double duration)