X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2311587e43b425e0fc6acf2d3de39d6a38ef8a56..15479dbe435febdbec7411e8de9b11bac1ca9350:/src/surf/host_clm03.cpp diff --git a/src/surf/host_clm03.cpp b/src/surf/host_clm03.cpp index f25ebdfd7b..955e6b8252 100644 --- a/src/surf/host_clm03.cpp +++ b/src/surf/host_clm03.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2013-2019. 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. */ @@ -28,29 +28,27 @@ namespace simgrid { namespace surf { HostCLM03Model::HostCLM03Model() { - all_existing_models->push_back(this); + all_existing_models.push_back(this); } double HostCLM03Model::next_occuring_event(double now) { - ignore_empty_vm_in_pm_LMM(); - double min_by_cpu = surf_cpu_model_pm->next_occuring_event(now); double min_by_net = surf_network_model->next_occuring_event_is_idempotent() ? surf_network_model->next_occuring_event(now) : -1; double min_by_sto = surf_storage_model->next_occuring_event(now); + double min_by_dsk = surf_disk_model->next_occuring_event(now); - XBT_DEBUG("model %p, %s min_by_cpu %f, %s min_by_net %f, %s min_by_sto %f", - this, typeid(surf_cpu_model_pm).name(), min_by_cpu, - typeid(surf_network_model).name(), min_by_net, - typeid(surf_storage_model).name(), min_by_sto); + XBT_DEBUG("model %p, %s min_by_cpu %f, %s min_by_net %f, %s min_by_sto %f, %s min_by_dsk %f", this, + typeid(surf_cpu_model_pm).name(), min_by_cpu, typeid(surf_network_model).name(), min_by_net, + typeid(surf_storage_model).name(), min_by_sto, typeid(surf_disk_model).name(), min_by_dsk); - double res = std::max({min_by_cpu, min_by_net, min_by_sto}); - if (min_by_cpu >= 0.0 && min_by_cpu < res) - res = min_by_cpu; - if (min_by_net >= 0.0 && min_by_net < res) + double res = min_by_cpu; + if (res < 0 || (min_by_net >= 0.0 && min_by_net < res)) res = min_by_net; - if (min_by_sto >= 0.0 && min_by_sto < res) + if (res < 0 || (min_by_sto >= 0.0 && min_by_sto < res)) res = min_by_sto; + if (res < 0 || (min_by_dsk >= 0.0 && min_by_dsk < res)) + res = min_by_dsk; return res; } @@ -59,5 +57,5 @@ void HostCLM03Model::update_actions_state(double /*now*/, double /*delta*/) /* I've no action to update */ } -} -} +} // namespace surf +} // namespace simgrid