#include "cpu_cas01.hpp"
#include "cpu_ti.hpp"
#include "simgrid/sg_config.h"
-#include "surf/maxmin.hpp"
+#include "src/kernel/lmm/maxmin.hpp"
+#include "xbt/utility.hpp"
#include <algorithm>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_cpu_cas, surf_cpu, "Logging specific to the SURF CPU IMPROVED module");
xbt_die("Unsupported optimization (%s) for this model", optim.c_str());
}
- p_cpuRunningActionSetThatDoesNotNeedBeingChecked = new ActionList();
- maxminSystem_ = new s_lmm_system_t(selectiveUpdate_);
+ maxminSystem_ = new simgrid::kernel::lmm::s_lmm_system_t(selectiveUpdate_);
if (getUpdateMechanism() == UM_LAZY) {
modifiedSet_ = new ActionLmmList();
delete modifiedSet_;
surf_cpu_model_pm = nullptr;
-
- delete p_cpuRunningActionSetThatDoesNotNeedBeingChecked;
}
Cpu *CpuCas01Model::createCpu(simgrid::s4u::Host *host, std::vector<double> *speedPerPstate, int core)
/** @brief take into account changes of speed (either load or max) */
void CpuCas01::onSpeedChange() {
lmm_variable_t var = nullptr;
- lmm_element_t elem = nullptr;
+ const_lmm_element_t elem = nullptr;
model()->getMaxminSystem()->update_constraint_bound(constraint(), coresAmount_ * speed_.scale * speed_.peak);
while ((var = constraint()->get_variable(&elem))) {
} else {
lmm_constraint_t cnst = constraint();
lmm_variable_t var = nullptr;
- lmm_element_t elem = nullptr;
+ const_lmm_element_t elem = nullptr;
double date = surf_get_clock();
turnOff();
action->suspended_ = 2;
if (duration < 0) { // NO_MAX_DURATION
/* Move to the *end* of the corresponding action set. This convention is used to speed up update_resource_state */
- action->getStateSet()->erase(action->getStateSet()->iterator_to(*action));
- action->stateSet_ = static_cast<CpuCas01Model*>(model())->p_cpuRunningActionSetThatDoesNotNeedBeingChecked;
+ simgrid::xbt::intrusive_erase(*action->getStateSet(), *action);
+ action->stateSet_ = &static_cast<CpuCas01Model*>(model())->p_cpuRunningActionSetThatDoesNotNeedBeingChecked;
action->getStateSet()->push_back(*action);
}