From 2ef59b0adb027b30c217be9b19ee418841aa7885 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Sat, 14 Jul 2018 12:42:05 +0200 Subject: [PATCH] Properly stringify, snake_case and cleanups in k::ExecImpl --- include/simgrid/simix.h | 4 ++-- src/kernel/activity/ActivityImpl.hpp | 1 + src/kernel/activity/ExecImpl.cpp | 22 +++++++++------------- src/kernel/activity/ExecImpl.hpp | 9 ++++----- src/msg/msg_gos.cpp | 4 ++-- src/plugins/dirty_page_tracking.cpp | 4 ++-- src/s4u/s4u_Actor.cpp | 2 +- src/s4u/s4u_Exec.cpp | 4 ++-- src/s4u/s4u_Host.cpp | 2 +- src/simix/libsmx.cpp | 4 ++-- src/simix/smx_host.cpp | 6 +++--- src/simix/smx_host_private.hpp | 4 ++-- 12 files changed, 31 insertions(+), 35 deletions(-) diff --git a/include/simgrid/simix.h b/include/simgrid/simix.h index c216902ffa..e6e920348e 100644 --- a/include/simgrid/simix.h +++ b/include/simgrid/simix.h @@ -191,9 +191,9 @@ XBT_PUBLIC void SIMIX_comm_finish(smx_activity_t synchro); /******************************************************************************/ /******************************* Host simcalls ********************************/ -XBT_PUBLIC smx_activity_t simcall_execution_start(const char* name, double flops_amount, double priority, double bound, +XBT_PUBLIC smx_activity_t simcall_execution_start(std::string name, double flops_amount, double priority, double bound, sg_host_t host); -XBT_PUBLIC smx_activity_t simcall_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_list, +XBT_PUBLIC smx_activity_t simcall_execution_parallel_start(std::string name, int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount, double rate, double timeout); XBT_PUBLIC void simcall_execution_cancel(smx_activity_t execution); diff --git a/src/kernel/activity/ActivityImpl.hpp b/src/kernel/activity/ActivityImpl.hpp index d145e8fb36..31b4b4b843 100644 --- a/src/kernel/activity/ActivityImpl.hpp +++ b/src/kernel/activity/ActivityImpl.hpp @@ -22,6 +22,7 @@ namespace activity { class XBT_PUBLIC ActivityImpl { public: ActivityImpl(); + explicit ActivityImpl(std::string name) : name_(name) {} virtual ~ActivityImpl(); e_smx_state_t state_ = SIMIX_WAITING; /* State of the activity */ std::string name_; /* Activity name if any */ diff --git a/src/kernel/activity/ExecImpl.cpp b/src/kernel/activity/ExecImpl.cpp index ebfa43b320..17fdf8da28 100644 --- a/src/kernel/activity/ExecImpl.cpp +++ b/src/kernel/activity/ExecImpl.cpp @@ -15,20 +15,15 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_process); -simgrid::kernel::activity::ExecImpl::ExecImpl(const char* name, resource::Action* surf_action, +simgrid::kernel::activity::ExecImpl::ExecImpl(std::string name, resource::Action* surf_action, resource::Action* timeout_detector, s4u::Host* host) - : host_(host) + : ActivityImpl(name), host_(host), surf_action_(surf_action), timeout_detector_(timeout_detector) { - if (name) - this->name_ = name; this->state_ = SIMIX_RUNNING; - surf_action_ = surf_action; surf_action_->set_data(this); - if (timeout_detector != nullptr) { + if (timeout_detector != nullptr) timeout_detector->set_data(this); - timeout_detector_ = timeout_detector; - } XBT_DEBUG("Create exec %p", this); } @@ -116,7 +111,7 @@ void simgrid::kernel::activity::ExecImpl::post() timeout_detector_ = nullptr; } - onCompletion(this); + on_completion(this); /* If there are simcalls associated with the synchro, then answer them */ if (not simcalls_.empty()) SIMIX_execution_finish(this); @@ -142,13 +137,14 @@ simgrid::kernel::activity::ExecImpl::migrate(simgrid::s4u::Host* to) this->surf_action_ = new_action; } - onMigration(this, to); + on_migration(this, to); return this; } /************* * Callbacks * *************/ -simgrid::xbt::signal simgrid::kernel::activity::ExecImpl::onCreation; -simgrid::xbt::signal simgrid::kernel::activity::ExecImpl::onCompletion; -simgrid::xbt::signal simgrid::kernel::activity::ExecImpl::onMigration; +simgrid::xbt::signal simgrid::kernel::activity::ExecImpl::on_creation; +simgrid::xbt::signal simgrid::kernel::activity::ExecImpl::on_completion; +simgrid::xbt::signal + simgrid::kernel::activity::ExecImpl::on_migration; diff --git a/src/kernel/activity/ExecImpl.hpp b/src/kernel/activity/ExecImpl.hpp index d37b98745b..453d4f1bc3 100644 --- a/src/kernel/activity/ExecImpl.hpp +++ b/src/kernel/activity/ExecImpl.hpp @@ -17,7 +17,7 @@ class XBT_PUBLIC ExecImpl : public ActivityImpl { ~ExecImpl() override; public: - explicit ExecImpl(const char* name, resource::Action* surf_action, resource::Action* timeout_detector, + explicit ExecImpl(std::string name, resource::Action* surf_action, resource::Action* timeout_detector, s4u::Host* host); void suspend() override; void resume() override; @@ -36,10 +36,9 @@ private: resource::Action* timeout_detector_ = nullptr; public: - static simgrid::xbt::signal onCreation; - static simgrid::xbt::signal onCompletion; - static simgrid::xbt::signal onMigration; - + static simgrid::xbt::signal on_creation; + static simgrid::xbt::signal on_completion; + static simgrid::xbt::signal on_migration; }; } } diff --git a/src/msg/msg_gos.cpp b/src/msg/msg_gos.cpp index 213315d24c..da08135163 100644 --- a/src/msg/msg_gos.cpp +++ b/src/msg/msg_gos.cpp @@ -62,12 +62,12 @@ msg_error_t MSG_parallel_task_execute_with_timeout(msg_task_t task, double timeo if (simdata->host_nb > 0) { simdata->compute = boost::static_pointer_cast(simcall_execution_parallel_start( - task->name, simdata->host_nb, simdata->host_list, simdata->flops_parallel_amount, + task->name ?: "", simdata->host_nb, simdata->host_list, simdata->flops_parallel_amount, simdata->bytes_parallel_amount, -1.0, timeout)); XBT_DEBUG("Parallel execution action created: %p", simdata->compute.get()); } else { simdata->compute = boost::static_pointer_cast( - simcall_execution_start(task->name, simdata->flops_amount, simdata->priority, simdata->bound, + simcall_execution_start(task->name ?: "", simdata->flops_amount, simdata->priority, simdata->bound, MSG_process_get_host(MSG_process_self()))); } simcall_set_category(simdata->compute, task->category); diff --git a/src/plugins/dirty_page_tracking.cpp b/src/plugins/dirty_page_tracking.cpp index 4097976bb3..df2cc070d5 100644 --- a/src/plugins/dirty_page_tracking.cpp +++ b/src/plugins/dirty_page_tracking.cpp @@ -107,8 +107,8 @@ void sg_vm_dirty_page_tracking_init() simgrid::vm::DirtyPageTrackingExt::EXTENSION_ID = simgrid::vm::VirtualMachineImpl::extension_create(); simgrid::vm::VirtualMachineImpl::on_creation.connect(&on_virtual_machine_creation); - simgrid::kernel::activity::ExecImpl::onCreation.connect(&on_exec_creation); - simgrid::kernel::activity::ExecImpl::onCompletion.connect(&on_exec_completion); + simgrid::kernel::activity::ExecImpl::on_creation.connect(&on_exec_creation); + simgrid::kernel::activity::ExecImpl::on_completion.connect(&on_exec_completion); } } diff --git a/src/s4u/s4u_Actor.cpp b/src/s4u/s4u_Actor.cpp index 0e3ee32f8a..64b2758f62 100644 --- a/src/s4u/s4u_Actor.cpp +++ b/src/s4u/s4u_Actor.cpp @@ -296,7 +296,7 @@ void execute(double flops, double priority) void parallel_execute(int host_nb, s4u::Host** host_list, double* flops_amount, double* bytes_amount, double timeout) { smx_activity_t s = - simcall_execution_parallel_start(nullptr, host_nb, host_list, flops_amount, bytes_amount, /* rate */ -1, timeout); + simcall_execution_parallel_start("", host_nb, host_list, flops_amount, bytes_amount, /* rate */ -1, timeout); simcall_execution_wait(s); } diff --git a/src/s4u/s4u_Exec.cpp b/src/s4u/s4u_Exec.cpp index 94e63f78ce..2d8cb1911b 100644 --- a/src/s4u/s4u_Exec.cpp +++ b/src/s4u/s4u_Exec.cpp @@ -2,11 +2,11 @@ /* 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 "xbt/log.h" #include "simgrid/s4u/Actor.hpp" #include "simgrid/s4u/Exec.hpp" #include "src/kernel/activity/ExecImpl.hpp" +#include "xbt/log.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(s4u_exec, s4u_activity, "S4U asynchronous executions"); @@ -15,7 +15,7 @@ namespace s4u { Activity* Exec::start() { - pimpl_ = simcall_execution_start(nullptr, flops_amount_, 1. / priority_, 0., host_); + pimpl_ = simcall_execution_start("", flops_amount_, 1. / priority_, 0., host_); boost::static_pointer_cast(pimpl_)->set_bound(bound_); state_ = State::STARTED; return this; diff --git a/src/s4u/s4u_Host.cpp b/src/s4u/s4u_Host.cpp index 85840a4194..4ad611bd3e 100644 --- a/src/s4u/s4u_Host.cpp +++ b/src/s4u/s4u_Host.cpp @@ -289,7 +289,7 @@ void Host::execute(double flops) } void Host::execute(double flops, double priority) { - smx_activity_t s = simcall_execution_start(nullptr, flops, 1 / priority /*priority*/, 0. /*bound*/, this); + smx_activity_t s = simcall_execution_start("", flops, 1 / priority /*priority*/, 0. /*bound*/, this); simcall_execution_wait(s); } diff --git a/src/simix/libsmx.cpp b/src/simix/libsmx.cpp index a40d1b0525..2d52a42ed0 100644 --- a/src/simix/libsmx.cpp +++ b/src/simix/libsmx.cpp @@ -38,7 +38,7 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix); * \param host host where the synchro will be executed * \return A new SIMIX execution synchronization */ -smx_activity_t simcall_execution_start(const char* name, double flops_amount, double priority, double bound, +smx_activity_t simcall_execution_start(std::string name, double flops_amount, double priority, double bound, simgrid::s4u::Host* host) { /* checking for infinite values */ @@ -65,7 +65,7 @@ smx_activity_t simcall_execution_start(const char* name, double flops_amount, do * \param timeout timeout * \return A new SIMIX execution synchronization */ -smx_activity_t simcall_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_list, +smx_activity_t simcall_execution_parallel_start(std::string name, int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount, double rate, double timeout) { /* checking for infinite values */ diff --git a/src/simix/smx_host.cpp b/src/simix/smx_host.cpp index 3b1cde9b47..6b1ce5d107 100644 --- a/src/simix/smx_host.cpp +++ b/src/simix/smx_host.cpp @@ -61,7 +61,7 @@ void SIMIX_host_autorestart(sg_host_t host) } boost::intrusive_ptr -SIMIX_execution_start(const char* name, double flops_amount, double priority, double bound, sg_host_t host) +SIMIX_execution_start(std::string name, double flops_amount, double priority, double bound, sg_host_t host) { /* set surf's action */ simgrid::kernel::resource::Action* surf_action = nullptr; @@ -76,13 +76,13 @@ SIMIX_execution_start(const char* name, double flops_amount, double priority, do new simgrid::kernel::activity::ExecImpl(name, surf_action, /*timeout_detector*/ nullptr, host)); XBT_DEBUG("Create execute synchro %p: %s", exec.get(), exec->name_.c_str()); - simgrid::kernel::activity::ExecImpl::onCreation(exec); + simgrid::kernel::activity::ExecImpl::on_creation(exec); return exec; } boost::intrusive_ptr -SIMIX_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_list, double* flops_amount, +SIMIX_execution_parallel_start(std::string name, int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount, double rate, double timeout) { diff --git a/src/simix/smx_host_private.hpp b/src/simix/smx_host_private.hpp index aff0d7f143..734921a5e5 100644 --- a/src/simix/smx_host_private.hpp +++ b/src/simix/smx_host_private.hpp @@ -18,9 +18,9 @@ XBT_PRIVATE void SIMIX_execution_finish(smx_activity_t synchro); XBT_PRIVATE void SIMIX_set_category(smx_activity_t synchro, const char* category); XBT_PRIVATE boost::intrusive_ptr -SIMIX_execution_start(const char* name, double flops_amount, double priority, double bound, sg_host_t host); +SIMIX_execution_start(std::string name, double flops_amount, double priority, double bound, sg_host_t host); XBT_PRIVATE boost::intrusive_ptr -SIMIX_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_list, double* flops_amount, +SIMIX_execution_parallel_start(std::string name, int host_nb, sg_host_t* host_list, double* flops_amount, double* bytes_amount, double rate, double timeout); #endif -- 2.20.1