X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f89671e0bd7450461d70d5ced6079123e73c2a63..9b4e5a12b9e11e584c2c5af4d96e38b8220a72b9:/src/surf/surf_interface.hpp diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index ef686755f1..a9ee7a8889 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2004-2021. The SimGrid Team. All rights reserved. */ /* 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. */ @@ -8,6 +8,7 @@ #include "src/internal_config.h" #include "src/surf/surf_private.hpp" +#include "xbt/function_types.h" #include #include @@ -29,7 +30,13 @@ extern XBT_PRIVATE double sg_bandwidth_factor; extern XBT_PRIVATE double sg_weight_S_parameter; extern XBT_PRIVATE std::vector surf_path; extern XBT_PRIVATE std::unordered_map traces_set_list; -extern XBT_PRIVATE std::set watched_hosts; + +/** set of hosts for which one want to be notified if they ever restart */ +inline auto& watched_hosts() // avoid static initialization order fiasco +{ + static std::set> value; + return value; +} static inline void double_update(double* variable, double value, double precision) { @@ -134,14 +141,14 @@ XBT_ATTRIB_NORETURN XBT_PUBLIC void surf_network_model_init_NS3(); /** @ingroup SURF_models - * @brief Initializes the platform with the current best network and cpu models at hand + * @brief Initializes the VM model used in the platform + * + * A VM model depends on the physical CPU model to share the resources inside the VM + * It will also creates the CPU model for actions running inside the VM * - * This platform model separates the host model and the network model. - * The host model will be initialized with the model compound, the network model with the model LV08 (with cross - * traffic support) and the CPU model with the model Cas01. * Such model is subject to modification with warning in the ChangeLog so monitor it! */ -XBT_PUBLIC void surf_vm_model_init_HL13(); +XBT_PUBLIC void surf_vm_model_init_HL13(simgrid::kernel::resource::CpuModel* cpu_pm_model); /** @ingroup SURF_models * @brief Initializes the platform with a compound host model @@ -168,11 +175,6 @@ XBT_PUBLIC void surf_host_model_init_current_default(); */ XBT_PUBLIC void surf_host_model_init_ptask_L07(); -/** @ingroup SURF_models - * @brief The storage model - */ -XBT_PUBLIC void surf_storage_model_init_default(); - XBT_PUBLIC void surf_disk_model_init_default(); /* -------------------- @@ -207,13 +209,7 @@ XBT_PUBLIC_DATA const std::vector surf_cpu_model_descr XBT_PUBLIC_DATA const std::vector surf_network_model_description; /** @brief The list of all disk models (pick one with --cfg=disk/model) */ XBT_PUBLIC_DATA const std::vector surf_disk_model_description; -/** @brief The list of all storage models (pick one with --cfg=storage/model) */ -XBT_PUBLIC_DATA const std::vector surf_storage_model_description; /** @brief The list of all host models (pick one with --cfg=host/model:) */ XBT_PUBLIC_DATA const std::vector surf_host_model_description; -/********** - * Action * - **********/ - #endif /* SURF_MODEL_H_ */