X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/54e35ebda7e4ffacd769653b8ebb8ba93c7298bf..2b7f31c28960f312a8c7eb09f7e80adae1502401:/src/surf/cpu_interface.hpp diff --git a/src/surf/cpu_interface.hpp b/src/surf/cpu_interface.hpp index 6375ce014c..e5c82bdc77 100644 --- a/src/surf/cpu_interface.hpp +++ b/src/surf/cpu_interface.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2014. The SimGrid Team. +/* Copyright (c) 2004-2015. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -61,12 +61,8 @@ XBT_PUBLIC(void) cpu_add_traces(); */ XBT_PUBLIC_CLASS CpuModel : public Model { public: - /** - * @brief CpuModel constructor - * - * @param name The name of the model - */ - CpuModel(const char *name) : Model(name) {}; + /** @brief Constructor */ + CpuModel() : Model() {}; /** * @brief Create a Cpu @@ -90,6 +86,7 @@ public: void updateActionsStateLazy(double now, double delta); void updateActionsStateFull(double now, double delta); + bool shareResourcesIsIdempotent() {return true;} }; /************ @@ -205,6 +202,33 @@ public: /* Note (hypervisor): */ lmm_constraint_t *p_constraintCore; void **p_constraintCoreId; + + // //// + // Adrien - Oct 2015. Additional code related to VM energy extensions + /* TODO: + 1./ create a VirtualCpuModel that inherits from CpuModel or create + a VirtualCpuCas01Model that inherit from CpuCas01Model + => Question: not sure which one is really useful :( The objective is to + be able to create a VirtualCpu instead of a Cpu (i.e. a CpuCas01 to be exact). + 2. create VirtualCpu class that inherits from Cpu or create + a VirtualCpuCas01 class that inherits from CpuCas01 (same issue as the one described above). + Such modifications would enable us to remove the isVirtual method and + actually use the polymorphism feature of C++. It will also enable us + to overwrite the cpu_energy hashmap in energyCpuCreateCallBack instead of invoking + setVirtual(). + So to make a long story short, it will be cleaner from the software viewpoint + and patches welcome ;) - Adrien October 20 2015 + */ + Cpu *physCpu = NULL; + + /** @brief Specify the physical CPU of the current CPU (which is a vCPU) */ + void setPhysicalCPU(Cpu *physCpu); + + /** @brief Get the physical if the current one is a vCPU, or NULL if it's already a physical CPU */ + Cpu* getPhysicalCPU(void); + + // Adrien - Oct 2015. End of additional code related to VM energy extensions + // //// }; /**********