X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/7f4f03348bd07609e258eb3b545bdafc2c881847..4736926935eb52f1e561715d2fa5a3fc4144a188:/src/surf/cpu_cas01.cpp diff --git a/src/surf/cpu_cas01.cpp b/src/surf/cpu_cas01.cpp index 7aac612325..c767a73002 100644 --- a/src/surf/cpu_cas01.cpp +++ b/src/surf/cpu_cas01.cpp @@ -99,21 +99,16 @@ CpuCas01Model::~CpuCas01Model() delete p_cpuRunningActionSetThatDoesNotNeedBeingChecked; } -Cpu *CpuCas01Model::createCpu(const char *name, xbt_dynar_t speedPeak, +Cpu *CpuCas01Model::createCpu(simgrid::Host *host, xbt_dynar_t speedPeak, int pstate, double speedScale, tmgr_trace_t speedTrace, int core, e_surf_resource_state_t state_initial, - tmgr_trace_t state_trace, - xbt_dict_t cpu_properties) + tmgr_trace_t state_trace) { - Cpu *cpu = NULL; - sg_host_t host = sg_host_by_name(name); xbt_assert(xbt_dynar_getfirst_as(speedPeak, double) > 0.0, "Speed has to be >0.0. Did you forget to specify the mandatory power attribute?"); xbt_assert(core > 0, "Invalid number of cores %d. Must be larger than 0", core); - - cpu = new CpuCas01(this, name, speedPeak, pstate, speedScale, speedTrace, core, state_initial, state_trace, cpu_properties); - sg_host_surfcpu_register(host, cpu); + Cpu *cpu = new CpuCas01(this, host, speedPeak, pstate, speedScale, speedTrace, core, state_initial, state_trace); return cpu; } @@ -157,11 +152,10 @@ void CpuCas01Model::addTraces() /************ * Resource * ************/ -CpuCas01::CpuCas01(CpuCas01Model *model, const char *name, xbt_dynar_t speedPeak, +CpuCas01::CpuCas01(CpuCas01Model *model, simgrid::Host *host, xbt_dynar_t speedPeak, int pstate, double speedScale, tmgr_trace_t speedTrace, int core, - e_surf_resource_state_t stateInitial, tmgr_trace_t stateTrace, - xbt_dict_t properties) -: Cpu(model, name, properties, + e_surf_resource_state_t stateInitial, tmgr_trace_t stateTrace) +: Cpu(model, host, lmm_constraint_new(model->getMaxminSystem(), this, core * speedScale * xbt_dynar_get_as(speedPeak, pstate, double)), core, xbt_dynar_get_as(speedPeak, pstate, double), speedScale, stateInitial) { @@ -187,7 +181,8 @@ CpuCas01::CpuCas01(CpuCas01Model *model, const char *name, xbt_dynar_t speedPeak p_stateEvent = tmgr_history_add_trace(history, stateTrace, 0.0, 0, this); } -CpuCas01::~CpuCas01(){ +CpuCas01::~CpuCas01() +{ if (getModel() == surf_cpu_model_pm) xbt_dynar_free(&p_speedPeakList); }