X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cd05fcfa9ff6df9b054060937165d422a536bd99..4b8feb2f921bf25aa725cc7ea0b306195b55bb1b:/src/surf/cpu_ti.hpp diff --git a/src/surf/cpu_ti.hpp b/src/surf/cpu_ti.hpp index 7f5e474481..6eca45aaa8 100644 --- a/src/surf/cpu_ti.hpp +++ b/src/surf/cpu_ti.hpp @@ -4,6 +4,8 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ +#include + #include #include "src/surf/cpu_interface.hpp" @@ -93,12 +95,11 @@ public: void setMaxDuration(double duration) override; void setPriority(double priority) override; double getRemains() override; - void setAffinity(Cpu * /*cpu*/, unsigned long /*mask*/) override {}; CpuTi *cpu_; - int indexHeap_; + int indexHeap_ = -1; int suspended_ = 0; -public: + boost::intrusive::list_member_hook<> action_ti_hook; }; @@ -110,7 +111,7 @@ typedef boost::intrusive::list ActionTiList; ************/ class CpuTi : public Cpu { public: - CpuTi(CpuTiModel *model, simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core); + CpuTi(CpuTiModel *model, simgrid::s4u::Host *host, std::vector *speedPerPstate, int core); ~CpuTi() override; void setSpeedTrace(tmgr_trace_t trace) override; @@ -126,14 +127,13 @@ public: void modified(bool modified); - CpuTiTgmr *speedIntegratedTrace_ = NULL;/*< Structure with data needed to integrate trace file */ - ActionTiList *actionSet_ = NULL; /*< set with all actions running on cpu */ + CpuTiTgmr *speedIntegratedTrace_ = nullptr;/*< Structure with data needed to integrate trace file */ + ActionTiList *actionSet_ = nullptr; /*< set with all actions running on cpu */ double sumPriority_ = 0; /*< the sum of actions' priority that are running on cpu */ double lastUpdate_ = 0; /*< last update of actions' remaining amount done */ double currentFrequency_; -public: boost::intrusive::list_member_hook<> cpu_ti_hook; }; @@ -147,8 +147,8 @@ class CpuTiModel : public CpuModel { public: CpuTiModel(); ~CpuTiModel() override; - Cpu *createCpu(simgrid::s4u::Host *host, xbt_dynar_t speedPerPstate, int core) override; - double next_occuring_event(double now) override; + Cpu *createCpu(simgrid::s4u::Host *host, std::vector* speedPerPstate, int core) override; + double nextOccuringEvent(double now) override; void updateActionsState(double now, double delta) override; ActionList *runningActionSetThatDoesNotNeedBeingChecked_;