X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/dae9ca13aff00ab1c05f85514f756aea7506d99e..6270ece7967b322385bbff766ee5f882ba1ef2a2:/src/surf/cpu_interface.cpp diff --git a/src/surf/cpu_interface.cpp b/src/surf/cpu_interface.cpp index 345ad6cd37..0513ad6517 100644 --- a/src/surf/cpu_interface.cpp +++ b/src/surf/cpu_interface.cpp @@ -31,19 +31,6 @@ surf_callback(void, Cpu*) cpuDestructedCallbacks; surf_callback(void, Cpu*, e_surf_resource_state_t, e_surf_resource_state_t) cpuStateChangedCallbacks; surf_callback(void, CpuAction*, e_surf_action_state_t, e_surf_action_state_t) cpuActionStateChangedCallbacks; -void cpu_parse_init(sg_platf_host_cbarg_t host){ - surf_cpu_model_pm->createCpu( - host->id, - host->power_peak, - host->pstate, - host->power_scale, - host->power_trace, - host->core_amount, - host->initial_state, - host->state_trace, - host->properties); -} - void cpu_add_traces(){ surf_cpu_model_pm->addTraces(); } @@ -143,31 +130,30 @@ void CpuModel::updateActionsStateFull(double now, double delta) ************/ Cpu::Cpu(){ - surf_callback_emit(cpuCreatedCallbacks, this); - physCpu = NULL; } + Cpu::Cpu(Model *model, const char *name, xbt_dict_t props, - int core, double powerPeak, double powerScale) - : Resource(model, name, props) + int core, double powerPeak, double powerScale, + e_surf_resource_state_t stateInitial) + : Resource(model, name, props, stateInitial) , m_core(core) , m_powerPeak(powerPeak) , m_powerScale(powerScale) , p_constraintCore(NULL) , p_constraintCoreId(NULL) { - surf_callback_emit(cpuCreatedCallbacks, this); - physCpu = NULL; + } Cpu::Cpu(Model *model, const char *name, xbt_dict_t props, - lmm_constraint_t constraint, int core, double powerPeak, double powerScale) - : Resource(model, name, props, constraint) + lmm_constraint_t constraint, int core, double powerPeak, + double powerScale, e_surf_resource_state_t stateInitial) + : Resource(model, name, props, constraint, stateInitial) , m_core(core) , m_powerPeak(powerPeak) , m_powerScale(powerScale) { - surf_callback_emit(cpuCreatedCallbacks, this); /* At now, we assume that a VM does not have a multicore CPU. */ if (core > 1) xbt_assert(model == surf_cpu_model_pm); @@ -185,9 +171,18 @@ Cpu::Cpu(Model *model, const char *name, xbt_dict_t props, p_constraintCore[i] = lmm_constraint_new(model->getMaxminSystem(), p_constraintCoreId[i], m_powerScale * m_powerPeak); } } - physCpu = NULL; } +Cpu::Cpu(Model *model, const char *name, xbt_dict_t props, + lmm_constraint_t constraint, int core, double powerPeak, double powerScale) +: Cpu(model, name, props, constraint, core, powerPeak, powerScale, SURF_RESOURCE_ON) +{} + +Cpu::Cpu(Model *model, const char *name, xbt_dict_t props, + int core, double powerPeak, double powerScale) +: Cpu(model, name, props, core, powerPeak, powerScale, SURF_RESOURCE_ON) +{} + Cpu::~Cpu(){ surf_callback_emit(cpuDestructedCallbacks, this); if (p_constraintCoreId){ @@ -228,22 +223,6 @@ void Cpu::setState(e_surf_resource_state_t state) surf_callback_emit(cpuStateChangedCallbacks, this, old, state); } -void Cpu::setVirtual(Cpu *physCpu) -{ - if (!surf_energy) - return; - this->physCpu = physCpu; - XBT_DEBUG("The CPU is virtual so associate the cpu energy to the physical cpu instead of creating a new one"); - std::map::iterator cpu_energy_it = surf_energy->find(physCpu); - xbt_assert(cpu_energy_it != surf_energy->end(), "The cpu is not in surf_energy."); - (*surf_energy)[this] = cpu_energy_it->second; -} - -Cpu* Cpu::isVirtual(void) -{ - return physCpu; -} - /********** * Action * **********/