A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove last occurences of "swag" in src/kernel/.
[simgrid.git]
/
src
/
simix
/
smx_host.cpp
diff --git
a/src/simix/smx_host.cpp
b/src/simix/smx_host.cpp
index
017c339
..
393256f
100644
(file)
--- a/
src/simix/smx_host.cpp
+++ b/
src/simix/smx_host.cpp
@@
-1,15
+1,16
@@
-/* Copyright (c) 2007-201
6
. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-201
7
. 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. */
#include "mc/mc.h"
/* 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 "mc/mc.h"
-#include "smx_private.h"
+#include "smx_private.h
pp
"
#include "src/kernel/activity/CommImpl.hpp"
#include "src/kernel/activity/CommImpl.hpp"
-#include "src/mc/mc_replay.h"
+#include "src/mc/mc_replay.h
pp
"
#include "src/plugins/vm/VirtualMachineImpl.hpp"
#include "src/surf/surf_interface.hpp"
#include "xbt/ex.hpp"
#include "src/plugins/vm/VirtualMachineImpl.hpp"
#include "src/surf/surf_interface.hpp"
#include "xbt/ex.hpp"
+#include <algorithm>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_host, simix, "SIMIX hosts");
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_host, simix, "SIMIX hosts");
@@
-28,7
+29,7
@@
namespace simgrid {
Host::~Host()
{
Host::~Host()
{
- /*
Clean Simulator data
*/
+ /*
All processes should be gone when the host is turned off (by the end of the simulation).
*/
if (xbt_swag_size(process_list) != 0) {
std::string msg = std::string("Shutting down host, but it's not empty:");
smx_actor_t process = nullptr;
if (xbt_swag_size(process_list) != 0) {
std::string msg = std::string("Shutting down host, but it's not empty:");
smx_actor_t process = nullptr;
@@
-81,7
+82,8
@@
void SIMIX_host_off(sg_host_t h, smx_actor_t issuer)
smx_actor_t process = nullptr;
xbt_swag_foreach(process, host->process_list) {
SIMIX_process_kill(process, issuer);
smx_actor_t process = nullptr;
xbt_swag_foreach(process, host->process_list) {
SIMIX_process_kill(process, issuer);
- XBT_DEBUG("Killing %s@%s on behalf of %s", process->cname(), process->host->getCname(), issuer->cname());
+ XBT_DEBUG("Killing %s@%s on behalf of %s which turned off that host.", process->getCname(),
+ process->host->getCname(), issuer->getCname());
}
}
} else {
}
}
} else {
@@
-190,11
+192,6
@@
SIMIX_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_li
simgrid::kernel::activity::ExecImplPtr exec =
simgrid::kernel::activity::ExecImplPtr(new simgrid::kernel::activity::ExecImpl(name, nullptr));
simgrid::kernel::activity::ExecImplPtr exec =
simgrid::kernel::activity::ExecImplPtr(new simgrid::kernel::activity::ExecImpl(name, nullptr));
- /* set surf's synchro */
- sg_host_t *host_list_cpy = xbt_new0(sg_host_t, host_nb);
- for (int i = 0; i < host_nb; i++)
- host_list_cpy[i] = host_list[i];
-
/* Check that we are not mixing VMs and PMs in the parallel task */
bool is_a_vm = (nullptr != dynamic_cast<simgrid::s4u::VirtualMachine*>(host_list[0]));
for (int i = 1; i < host_nb; i++) {
/* Check that we are not mixing VMs and PMs in the parallel task */
bool is_a_vm = (nullptr != dynamic_cast<simgrid::s4u::VirtualMachine*>(host_list[0]));
for (int i = 1; i < host_nb; i++) {
@@
-204,6
+201,9
@@
SIMIX_execution_parallel_start(const char* name, int host_nb, sg_host_t* host_li
/* set surf's synchro */
if (not MC_is_active() && not MC_record_replay_is_active()) {
/* set surf's synchro */
if (not MC_is_active() && not MC_record_replay_is_active()) {
+ /* set surf's synchro */
+ sg_host_t* host_list_cpy = new sg_host_t[host_nb];
+ std::copy_n(host_list, host_nb, host_list_cpy);
exec->surf_exec = surf_host_model->executeParallelTask(host_nb, host_list_cpy, flops_amount, bytes_amount, rate);
exec->surf_exec->setData(exec.get());
if (timeout > 0) {
exec->surf_exec = surf_host_model->executeParallelTask(host_nb, host_list_cpy, flops_amount, bytes_amount, rate);
exec->surf_exec->setData(exec.get());
if (timeout > 0) {