From ea2df3dcf2a0d33ce7b611cc2758a73c9d29f677 Mon Sep 17 00:00:00 2001 From: Fred Suter Date: Mon, 31 Oct 2022 10:33:21 -0400 Subject: [PATCH] plug leak and more consistency with other models --- src/kernel/resource/DiskImpl.cpp | 17 ----------------- src/kernel/resource/DiskImpl.hpp | 4 +--- src/surf/disk_s19.cpp | 16 ++++++++++++++++ src/surf/disk_s19.hpp | 4 +++- src/surf/sio_S22.hpp | 1 + 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/kernel/resource/DiskImpl.cpp b/src/kernel/resource/DiskImpl.cpp index d6d679e6ca..126d53fd0a 100644 --- a/src/kernel/resource/DiskImpl.cpp +++ b/src/kernel/resource/DiskImpl.cpp @@ -6,32 +6,15 @@ #include "DiskImpl.hpp" #include "simgrid/s4u/Engine.hpp" -#include "simgrid/sg_config.hpp" #include "src/kernel/EngineImpl.hpp" #include "src/kernel/lmm/maxmin.hpp" #include "src/kernel/resource/profile/Profile.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(res_disk, ker_resource, "Disk resources, that fuel I/O activities"); -/*********** - * Options * - ***********/ -static simgrid::config::Flag cfg_disk_solver("disk/solver", - "Set linear equations solver used by disk model", "maxmin", - &simgrid::kernel::lmm::System::validate_solver); - namespace simgrid::kernel::resource { xbt::signal DiskAction::on_state_change; -/********* - * Model * - *********/ - -DiskModel::DiskModel(const std::string& name) : Model(name) -{ - set_maxmin_system(lmm::System::build(cfg_disk_solver.get(), true /* selective update */)); -} - /************ * Resource * ************/ diff --git a/src/kernel/resource/DiskImpl.hpp b/src/kernel/resource/DiskImpl.hpp index b55a6a3a6d..7b46f08d84 100644 --- a/src/kernel/resource/DiskImpl.hpp +++ b/src/kernel/resource/DiskImpl.hpp @@ -32,9 +32,7 @@ class DiskAction; *********/ class DiskModel : public Model { public: - explicit DiskModel(const std::string& name); - DiskModel(const DiskModel&) = delete; - DiskModel& operator=(const DiskModel&) = delete; + using Model::Model; virtual DiskImpl* create_disk(const std::string& name, double read_bandwidth, double write_bandwidth) = 0; }; diff --git a/src/surf/disk_s19.cpp b/src/surf/disk_s19.cpp index 1b589d39af..8299b4bf77 100644 --- a/src/surf/disk_s19.cpp +++ b/src/surf/disk_s19.cpp @@ -3,6 +3,7 @@ /* 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 "simgrid/sg_config.hpp" #include #include #include @@ -14,6 +15,12 @@ #include "src/surf/disk_s19.hpp" XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(res_disk); +/*********** + * Options * + ***********/ +static simgrid::config::Flag cfg_disk_solver("disk/solver", + "Set linear equations solver used by disk model", "maxmin", + &simgrid::kernel::lmm::System::validate_solver); /********* * Model * @@ -28,6 +35,15 @@ void surf_disk_model_init_S19() } namespace simgrid::kernel::resource { +/********* + * Model * + *********/ + +DiskS19Model::DiskS19Model(const std::string& name) : DiskModel(name) +{ + set_maxmin_system(lmm::System::build(cfg_disk_solver.get(), true /* selective update */)); +} + DiskImpl* DiskS19Model::create_disk(const std::string& name, double read_bandwidth, double write_bandwidth) { diff --git a/src/surf/disk_s19.hpp b/src/surf/disk_s19.hpp index 85d6c1c64d..b4c352bee3 100644 --- a/src/surf/disk_s19.hpp +++ b/src/surf/disk_s19.hpp @@ -26,7 +26,9 @@ class XBT_PRIVATE DiskS19Action; class DiskS19Model : public DiskModel { public: - using DiskModel::DiskModel; + explicit DiskS19Model(const std::string& name); + DiskS19Model(const DiskS19Model&) = delete; + DiskS19Model& operator=(const DiskS19Model&) = delete; DiskImpl* create_disk(const std::string& name, double read_bandwidth, double write_bandwidth) override; void update_actions_state(double now, double delta) override; diff --git a/src/surf/sio_S22.hpp b/src/surf/sio_S22.hpp index 31516251a3..1ed0a2219f 100644 --- a/src/surf/sio_S22.hpp +++ b/src/surf/sio_S22.hpp @@ -107,6 +107,7 @@ public: /********** * Action * **********/ + class S22Action : public DiskAction { const s4u::Host* src_host_; const DiskImpl* src_disk_; -- 2.20.1