From: Julien Gossa Date: Fri, 4 Mar 2016 11:37:58 +0000 (+0100) Subject: Merge branch 'master' of git+ssh://scm.gforge.inria.fr/gitroot/simgrid/simgrid X-Git-Tag: v3_13~561^2^2~4 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/d3154c75960afc4f3fe7e53c835e35f2584ed97a?hp=af80677c7ebfeef12c57d427b90ce1827365a1db Merge branch 'master' of git+ssh://scm.gforge.inria.fr/gitroot/simgrid/simgrid Only docs and output formatting work. --- diff --git a/.gitignore b/.gitignore index 533913dcce..752821955e 100644 --- a/.gitignore +++ b/.gitignore @@ -342,8 +342,7 @@ teshsuite/smpi/compute/compute3 teshsuite/smpi/dsend teshsuite/smpi/gather_coll teshsuite/smpi/gather/gather_coll -teshsuite/smpi/hvector/hvector_test -teshsuite/smpi/hvector_test +teshsuite/smpi/type-hvector/type-hvector teshsuite/smpi/indexed/indexed_test teshsuite/smpi/indexed_test teshsuite/smpi/isp/umpire/abort @@ -1012,11 +1011,9 @@ teshsuite/smpi/scatter/scatter teshsuite/smpi/shared/shared teshsuite/smpi/smpi_sendrecv teshsuite/smpi/split -teshsuite/smpi/struct/struct_test -teshsuite/smpi/struct_test +teshsuite/smpi/type-struct/type-struct teshsuite/smpi/ttest01 -teshsuite/smpi/vector_test -teshsuite/smpi/vector/vector_test +teshsuite/smpi/type-vector/type-vector teshsuite/surf/lmm_usage/lmm_usage teshsuite/surf/maxmin_bench/maxmin_bench teshsuite/surf/surf_usage/surf_usage diff --git a/CMakeLists.txt b/CMakeLists.txt index fd5fe393de..914ee76c7c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -375,12 +375,6 @@ if(enable_jedule) set(HAVE_JEDULE 1) endif() -if(enable_latency_bound_tracking) - SET(HAVE_LATENCY_BOUND_TRACKING 1) -else() - SET(HAVE_LATENCY_BOUND_TRACKING 0) -endif() - if(enable_mallocators) SET(MALLOCATOR_IS_WANTED 1) else() diff --git a/doc/doxygen/install.doc b/doc/doxygen/install.doc index 10d3360b6a..bc070bebbd 100644 --- a/doc/doxygen/install.doc +++ b/doc/doxygen/install.doc @@ -216,9 +216,6 @@ accepts several options, as listed below. @li enable_ns3 (ON/OFF): whether you want to use ns3. See section @ref pls_simgrid_configuration_ns3. @li NS3_HINT (path): Where to search for NS3 (eg /usr or /opt). - @li enable_latency_bound_tracking (ON/OFF): enable it if you - want to be warned when communications are limited by round trip - time while doing packet-level simulation. @li enable_documentation (ON/OFF) : whether the documentation should be generated during the compilation. Default is ON. diff --git a/doc/doxygen/platform.doc b/doc/doxygen/platform.doc index 9dcf506be7..db37632e97 100644 --- a/doc/doxygen/platform.doc +++ b/doc/doxygen/platform.doc @@ -1113,9 +1113,9 @@ routing model (the path is given relative to SimGrid's source directory) \verbinclude example_filelist_routing_dijkstra -Dijsktra example : +Dijkstra example : \verbatim - + @@ -1136,9 +1136,9 @@ Dijsktra example : \anchor pf_routing_model_dijkstracache ### DijkstraCache ### -DijsktraCache example: +DijkstraCache example: \verbatim - + ... (platform unchanged compared to upper example) @@ -1493,7 +1493,7 @@ then have to define some route to gives some topological information to SimGrid. Here is a file doing it all : \verbatim - + diff --git a/examples/java/bittorrent/Common.java b/examples/java/bittorrent/Common.java index 2f030f3339..5833aafb26 100644 --- a/examples/java/bittorrent/Common.java +++ b/examples/java/bittorrent/Common.java @@ -8,29 +8,21 @@ package bittorrent; /* Common constants for use in the simulation */ public class Common { - public static String TRACKER_MAILBOX = "tracker_mailbox"; - public static int FILE_SIZE = 5120; - public static int FILE_PIECE_SIZE = 512; - public static int FILE_PIECES = 10; - public static int PIECES_BLOCKS = 5; - public static int BLOCKS_REQUESTED = 2; - public static int PIECE_COMM_SIZE = 1; - /* Information message size */ - public static int MESSAGE_SIZE = 1; - /* Max number of peers sent by the tracker to clients */ - public static int MAXIMUM_PEERS = 50; - /* Interval of time where the peer should send a request to the tracker */ - public static int TRACKER_QUERY_INTERVAL = 1000; - /* Communication size for a task to the tracker */ - public static double TRACKER_COMM_SIZE = 0.01; - /* Timeout for the get peers data */ - public static int GET_PEERS_TIMEOUT = 10000; - public static int TIMEOUT_MESSAGE = 10; - public static int TRACKER_RECEIVE_TIMEOUT = 10; - /* Number of peers that can be unchocked at a given time */ - public static int MAX_UNCHOKED_PEERS = 4; - /* Interval between each update of the choked peers */ - public static int UPDATE_CHOKED_INTERVAL = 30; - /* Number of pieces the peer asks for simultaneously */ - public static int MAX_PIECES = 1; + public static final String TRACKER_MAILBOX = "tracker_mailbox"; + public static final int FILE_SIZE = 5120; + public static final int FILE_PIECE_SIZE = 512; + public static final int FILE_PIECES = 10; + public static final int PIECES_BLOCKS = 5; + public static final int BLOCKS_REQUESTED = 2; + public static final int PIECE_COMM_SIZE = 1; + public static final int MESSAGE_SIZE = 1; /* Information message size */ + public static final int MAXIMUM_PEERS = 50; /* Max number of peers sent by the tracker to clients */ + public static final int TRACKER_QUERY_INTERVAL = 1000; /* Interval of time where the peer should send a request to the tracker */ + public static final double TRACKER_COMM_SIZE = 0.01; /* Communication size for a task to the tracker */ + public static final int GET_PEERS_TIMEOUT = 10000; /* Timeout for the get peers data */ + public static final int TIMEOUT_MESSAGE = 10; + public static final int TRACKER_RECEIVE_TIMEOUT = 10; + public static final int MAX_UNCHOKED_PEERS = 4; /* Number of peers that can be unchocked at a given time */ + public static final int UPDATE_CHOKED_INTERVAL = 30; /* Interval between each update of the choked peers */ + public static final int MAX_PIECES = 1; /* Number of pieces the peer asks for simultaneously */ } diff --git a/examples/java/kademlia/Contact.java b/examples/java/kademlia/Contact.java index 76e155bc92..0f95358ec1 100644 --- a/examples/java/kademlia/Contact.java +++ b/examples/java/kademlia/Contact.java @@ -23,10 +23,12 @@ public class Contact implements Comparable { return distance; } + @Override public boolean equals(Object x) { return x.equals(id) ; } + @Override public int compareTo(Object o) { Contact c = (Contact)o; if (distance < c.distance) { diff --git a/examples/msg/gtnets/gtnets.c b/examples/msg/gtnets/gtnets.c index 83758ac032..19d2b0b588 100644 --- a/examples/msg/gtnets/gtnets.c +++ b/examples/msg/gtnets/gtnets.c @@ -74,9 +74,6 @@ static int master(int argc, char *argv[]) static int slave(int argc, char *argv[]) { msg_task_t task = NULL; -#ifdef HAVE_LATENCY_BOUND_TRACKING - int limited_latency = 0; -#endif double remaining = 0; char id_alias[10]; @@ -103,25 +100,12 @@ static int slave(int argc, char *argv[]) for (id = 0; id < NTASKS; id++) { if (gl_task_array[id] == NULL) continue; if (gl_task_array[id] == task) { -#ifdef HAVE_LATENCY_BOUND_TRACKING - limited_latency = MSG_task_is_latency_bounded(gl_task_array[id]); - if (limited_latency) { - XBT_INFO("WARNING FLOW[%d] is limited by latency!!", id); - } -#endif XBT_INFO ("===> Estimated Bw of FLOW[%d] : %f ; message from %s to %s with remaining : %f", id, gl_data_size[id] / elapsed_time, masternames[id], slavenames[id], 0.0); MSG_task_destroy(gl_task_array[id]); gl_task_array[id]=NULL; } else { remaining = MSG_task_get_remaining_communication(gl_task_array[id]); -#ifdef HAVE_LATENCY_BOUND_TRACKING - limited_latency = MSG_task_is_latency_bounded(gl_task_array[id]); - - if (limited_latency) { - XBT_INFO("WARNING FLOW[%d] is limited by latency!!", id); - } -#endif XBT_INFO ("===> Estimated Bw of FLOW[%d] : %f ; message from %s to %s with remaining : %f", id, (gl_data_size[id] - remaining) / elapsed_time, masternames[id], slavenames[id], remaining); if(remaining==0) { diff --git a/include/simgrid/simix.h b/include/simgrid/simix.h index 5eff1ca084..5e930ff5ec 100644 --- a/include/simgrid/simix.h +++ b/include/simgrid/simix.h @@ -423,10 +423,6 @@ XBT_PUBLIC(void *) simcall_comm_get_dst_data(smx_synchro_t comm); XBT_PUBLIC(smx_process_t) simcall_comm_get_src_proc(smx_synchro_t comm); XBT_PUBLIC(smx_process_t) simcall_comm_get_dst_proc(smx_synchro_t comm); -#ifdef HAVE_LATENCY_BOUND_TRACKING -XBT_PUBLIC(int) simcall_comm_is_latency_bounded(smx_synchro_t comm); -#endif - /************************** Tracing handling **********************************/ XBT_PUBLIC(void) simcall_set_category(smx_synchro_t synchro, const char *category); diff --git a/include/simgrid_config.h.in b/include/simgrid_config.h.in index 0f4db4c84c..47e50f554f 100644 --- a/include/simgrid_config.h.in +++ b/include/simgrid_config.h.in @@ -48,9 +48,6 @@ /* Define if xbt contexts are based on our threads implementation or not */ #cmakedefine HAVE_THREAD_CONTEXTS @HAVE_THREAD_CONTEXTS@ -/* Tracking of latency bound */ -#cmakedefine HAVE_LATENCY_BOUND_TRACKING @HAVE_LATENCY_BOUND_TRACKING@ - /* If __thread is available */ #cmakedefine HAVE_THREAD_LOCAL_STORAGE @HAVE_THREAD_LOCAL_STORAGE@ diff --git a/src/bindings/java/org/simgrid/NativeLib.java b/src/bindings/java/org/simgrid/NativeLib.java index c89c57f4ed..71b1595b6c 100644 --- a/src/bindings/java/org/simgrid/NativeLib.java +++ b/src/bindings/java/org/simgrid/NativeLib.java @@ -129,6 +129,7 @@ public final class NativeLib { public FileCleaner(File dir) { this.dir = dir; } + @Override public void run() { try { for (File f : dir.listFiles()) diff --git a/src/bindings/java/org/simgrid/msg/As.java b/src/bindings/java/org/simgrid/msg/As.java index 40b68dcc77..16c6889b69 100644 --- a/src/bindings/java/org/simgrid/msg/As.java +++ b/src/bindings/java/org/simgrid/msg/As.java @@ -13,6 +13,7 @@ public class As { protected As() { }; + @Override public String toString (){ return this.getName(); } diff --git a/src/bindings/java/org/simgrid/msg/File.java b/src/bindings/java/org/simgrid/msg/File.java index 015d080266..456e474268 100644 --- a/src/bindings/java/org/simgrid/msg/File.java +++ b/src/bindings/java/org/simgrid/msg/File.java @@ -20,6 +20,7 @@ public class File { public File(String path) { open(path); } + @Override protected void finalize() { } diff --git a/src/bindings/java/org/simgrid/msg/Host.java b/src/bindings/java/org/simgrid/msg/Host.java index aa058cfac4..ae953ee99d 100644 --- a/src/bindings/java/org/simgrid/msg/Host.java +++ b/src/bindings/java/org/simgrid/msg/Host.java @@ -66,6 +66,7 @@ public class Host { this.data = null; }; + @Override public String toString (){ return this.name; diff --git a/src/bindings/java/org/simgrid/msg/Process.java b/src/bindings/java/org/simgrid/msg/Process.java index 502348caa9..f408d1687f 100644 --- a/src/bindings/java/org/simgrid/msg/Process.java +++ b/src/bindings/java/org/simgrid/msg/Process.java @@ -328,13 +328,11 @@ public abstract class Process implements Runnable { } } - /** - * This method runs the process. Il calls the method function that you must overwrite. - */ + /** This method runs the process. Il calls the method function that you must overwrite. */ + @Override public void run() { String[] args = null; /* do not fill it before the signal or this.args will be empty */ - //waitSignal(); /* wait for other people to fill the process in */ try { args = new String[this.args.size()]; diff --git a/src/bindings/java/org/simgrid/msg/Storage.java b/src/bindings/java/org/simgrid/msg/Storage.java index d9ccd5a66c..b6953bc2ac 100644 --- a/src/bindings/java/org/simgrid/msg/Storage.java +++ b/src/bindings/java/org/simgrid/msg/Storage.java @@ -17,23 +17,17 @@ public class Storage { */ private long bind; - /** - * Storage name - */ + /** Storage name */ protected String name; - /** - * User data. - */ + /** User data. */ private Object data; - /** - * - */ protected Storage() { this.bind = 0; this.data = null; }; + @Override public String toString (){ return this.name; diff --git a/src/include/surf/maxmin.h b/src/include/surf/maxmin.h index 297683fa4e..9aa09d257c 100644 --- a/src/include/surf/maxmin.h +++ b/src/include/surf/maxmin.h @@ -354,10 +354,6 @@ XBT_PUBLIC(lmm_constraint_t) lmm_get_first_active_constraint(lmm_system_t sys); */ XBT_PUBLIC(lmm_constraint_t) lmm_get_next_active_constraint(lmm_system_t sys, lmm_constraint_t cnst); -#ifdef HAVE_LATENCY_BOUND_TRACKING -XBT_PUBLIC(int) lmm_is_variable_limited_by_latency(lmm_variable_t var); -#endif - /** * @brief Get the data associated to a constraint * @param cnst A constraint diff --git a/src/mc/Process.cpp b/src/mc/Process.cpp index 2e510676db..5360933c4a 100644 --- a/src/mc/Process.cpp +++ b/src/mc/Process.cpp @@ -232,8 +232,8 @@ void Process::init() remote(std_heap_var->address), simgrid::mc::ProcessIndexDisabled); - this->smx_process_infos = MC_smx_process_info_list_new(); - this->smx_old_process_infos = MC_smx_process_info_list_new(); + this->smx_process_infos.clear(); + this->smx_old_process_infos.clear(); this->unw_addr_space = unw_create_addr_space(&mc_unw_accessors , __BYTE_ORDER); this->unw_underlying_addr_space = unw_create_addr_space(&mc_unw_vmread_accessors, __BYTE_ORDER); this->unw_underlying_context = _UPT_create(this->pid_); @@ -247,9 +247,6 @@ Process::~Process() this->maestro_stack_start_ = nullptr; this->maestro_stack_end_ = nullptr; - xbt_dynar_free(&this->smx_process_infos); - xbt_dynar_free(&this->smx_old_process_infos); - if (this->memory_file >= 0) { close(this->memory_file); } @@ -701,11 +698,11 @@ void Process::ignore_local_variable(const char *var_name, const char *frame_name info->remove_local_variable(var_name, frame_name); } -boost::iterator_range Process::simix_processes() +std::vector& Process::simix_processes() { xbt_assert(mc_mode != MC_MODE_CLIENT); MC_process_smx_refresh(&mc_model_checker->process()); - return simgrid::xbt::range(smx_process_infos); + return smx_process_infos; } } diff --git a/src/mc/Process.hpp b/src/mc/Process.hpp index 8de84355e3..724d068133 100644 --- a/src/mc/Process.hpp +++ b/src/mc/Process.hpp @@ -14,15 +14,12 @@ #include #include -#include - #include #include #include #include -#include #include #ifdef HAVE_MC @@ -49,18 +46,28 @@ typedef int mc_process_cache_flags_t; #define MC_PROCESS_CACHE_FLAG_MALLOC_INFO 2 #define MC_PROCESS_CACHE_FLAG_SIMIX_PROCESSES 4 -struct s_mc_smx_process_info { +namespace simgrid { +namespace mc { + +class SimixProcessInformation { +public: /** MCed address of the process */ - void* address; - /** (Flat) Copy of the process data structure */ - struct s_smx_process copy; + void* address = nullptr; + union { + /** (Flat) Copy of the process data structure */ + struct s_smx_process copy; + }; /** Hostname (owned by `mc_modelchecker->hostnames`) */ - const char* hostname; - char* name; -}; + const char* hostname = nullptr; + std::string name; -namespace simgrid { -namespace mc { + void clear() + { + name.clear(); + address = nullptr; + hostname = nullptr; + } +}; struct IgnoredRegion { std::uint64_t addr; @@ -207,7 +214,7 @@ public: void ignore_local_variable(const char *var_name, const char *frame_name); int socket() { return socket_; } - simgrid::xbt::DynarRange simix_processes(); + std::vector& simix_processes(); private: void init_memory_map_info(); @@ -239,13 +246,13 @@ public: // Copies of MCed SMX data structures * * See mc_smx.c. */ - xbt_dynar_t smx_process_infos = nullptr; + std::vector smx_process_infos; /** Copy of `simix_global->process_to_destroy` * * See mc_smx.c. */ - xbt_dynar_t smx_old_process_infos = nullptr; + std::vector smx_old_process_infos; /** State of the cache (which variables are up to date) */ mc_process_cache_flags_t cache_flags = MC_PROCESS_CACHE_FLAG_NONE; diff --git a/src/mc/mc_base.cpp b/src/mc/mc_base.cpp index 5b61d7ba2c..ceed72a590 100644 --- a/src/mc/mc_base.cpp +++ b/src/mc/mc_base.cpp @@ -227,16 +227,12 @@ void MC_simcall_handle(smx_simcall_t req, int value) return; } - unsigned i; - mc_smx_process_info_t pi = nullptr; - - xbt_dynar_foreach_ptr(mc_model_checker->process().smx_process_infos, i, pi) { - if (req == &pi->copy.simcall) { + for (auto& pi : mc_model_checker->process().smx_process_infos) + if (req == &pi.copy.simcall) { mc_model_checker->simcall_handle( - mc_model_checker->process(), pi->copy.pid, value); + mc_model_checker->process(), pi.copy.pid, value); return; } - } xbt_die("Could not find the request"); #endif diff --git a/src/mc/mc_forward.hpp b/src/mc/mc_forward.hpp index 1be20a4124..b71caabc3f 100644 --- a/src/mc/mc_forward.hpp +++ b/src/mc/mc_forward.hpp @@ -26,12 +26,11 @@ class Member; class Type; class Variable; class Frame; +class SimixProcessInformation; } } -struct s_mc_smx_process_info; - // TODO, try to get rid of the global ModelChecker variable extern simgrid::mc::ModelChecker* mc_model_checker; diff --git a/src/mc/mc_smx.cpp b/src/mc/mc_smx.cpp index 205fcf7ed3..409834af3b 100644 --- a/src/mc/mc_smx.cpp +++ b/src/mc/mc_smx.cpp @@ -21,36 +21,21 @@ using simgrid::mc::remote; extern "C" { -static -void MC_smx_process_info_clear(mc_smx_process_info_t p) -{ - p->hostname = nullptr; - std::free(p->name); - p->name = nullptr; -} - -xbt_dynar_t MC_smx_process_info_list_new(void) -{ - return xbt_dynar_new( - sizeof(s_mc_smx_process_info_t), - ( void_f_pvoid_t) &MC_smx_process_info_clear); -} - static inline -bool is_in_dynar(smx_process_t p, xbt_dynar_t dynar) +bool is_in_vector(smx_process_t p, std::vector& ps) { - return (uintptr_t) p >= (uintptr_t) dynar->data - && (uintptr_t) p < ((uintptr_t) dynar->data + dynar->used * dynar->elmsize); + return (uintptr_t) p >= (uintptr_t) &ps[0] + && (uintptr_t) p < (uintptr_t) &ps[ps.size()]; } static inline -mc_smx_process_info_t MC_smx_process_get_info(smx_process_t p) +simgrid::mc::SimixProcessInformation* MC_smx_process_get_info(smx_process_t p) { - assert(is_in_dynar(p, mc_model_checker->process().smx_process_infos) - || is_in_dynar(p, mc_model_checker->process().smx_old_process_infos)); - mc_smx_process_info_t process_info = - (mc_smx_process_info_t) - ((char*) p - offsetof(s_mc_smx_process_info_t, copy)); + assert(is_in_vector(p, mc_model_checker->process().smx_process_infos) + || is_in_vector(p, mc_model_checker->process().smx_old_process_infos)); + simgrid::mc::SimixProcessInformation* process_info = + (simgrid::mc::SimixProcessInformation*) + ((char*) p - offsetof(simgrid::mc::SimixProcessInformation, copy)); return process_info; } @@ -62,25 +47,23 @@ mc_smx_process_info_t MC_smx_process_get_info(smx_process_t p) */ static void MC_process_refresh_simix_process_list( simgrid::mc::Process* process, - xbt_dynar_t target, xbt_swag_t remote_swag) + std::vector& target, xbt_swag_t remote_swag) { + target.clear(); + // swag = REMOTE(*simix_global->process_list) s_xbt_swag_t swag; process->read_bytes(&swag, sizeof(swag), remote(remote_swag)); - smx_process_t p; - xbt_dynar_reset(target); - // Load each element of the dynar from the MCed process: int i = 0; - for (p = (smx_process_t) swag.head; p; ++i) { + for (smx_process_t p = (smx_process_t) swag.head; p; ++i) { - s_mc_smx_process_info_t info; + simgrid::mc::SimixProcessInformation info; info.address = p; - info.name = nullptr; info.hostname = nullptr; process->read_bytes(&info.copy, sizeof(info.copy), remote(p)); - xbt_dynar_push(target, &info); + target.push_back(std::move(info)); // Lookup next process address: p = (smx_process_t) xbt_swag_getNext(&info.copy, swag.offset); @@ -132,16 +115,13 @@ smx_process_t MC_smx_simcall_get_issuer(smx_simcall_t req) // This is the address of the smx_process in the MCed process: void* address = req->issuer; - unsigned i; - mc_smx_process_info_t p; - // Lookup by address: - xbt_dynar_foreach_ptr(mc_model_checker->process().smx_process_infos, i, p) - if (p->address == address) - return &p->copy; - xbt_dynar_foreach_ptr(mc_model_checker->process().smx_old_process_infos, i, p) - if (p->address == address) - return &p->copy; + for (auto& p : mc_model_checker->process().smx_process_infos) + if (p.address == address) + return &p.copy; + for (auto& p : mc_model_checker->process().smx_old_process_infos) + if (p.address == address) + return &p.copy; xbt_die("Issuer not found"); } @@ -153,26 +133,23 @@ smx_process_t MC_smx_resolve_process(smx_process_t process_remote_address) if (mc_mode == MC_MODE_CLIENT) return process_remote_address; - mc_smx_process_info_t process_info = MC_smx_resolve_process_info(process_remote_address); + simgrid::mc::SimixProcessInformation* process_info = MC_smx_resolve_process_info(process_remote_address); if (process_info) return &process_info->copy; else return nullptr; } -mc_smx_process_info_t MC_smx_resolve_process_info(smx_process_t process_remote_address) +simgrid::mc::SimixProcessInformation* MC_smx_resolve_process_info(smx_process_t process_remote_address) { if (mc_mode == MC_MODE_CLIENT) xbt_die("No process_info for local process is not enabled."); - - unsigned index; - mc_smx_process_info_t process_info; - xbt_dynar_foreach_ptr(mc_model_checker->process().smx_process_infos, index, process_info) - if (process_info->address == process_remote_address) - return process_info; - xbt_dynar_foreach_ptr(mc_model_checker->process().smx_old_process_infos, index, process_info) - if (process_info->address == process_remote_address) - return process_info; + for (auto& process_info : mc_model_checker->process().smx_process_infos) + if (process_info.address == process_remote_address) + return &process_info; + for (auto& process_info : mc_model_checker->process().smx_old_process_infos) + if (process_info.address == process_remote_address) + return &process_info; xbt_die("Process info not found"); } @@ -202,7 +179,7 @@ const char* MC_smx_process_get_host_name(smx_process_t p) const size_t offset = (char*) &foo.host.name() - (char*) &foo.host; // Read the simgrid::xbt::string in the MCed process: - mc_smx_process_info_t info = MC_smx_process_get_info(p); + simgrid::mc::SimixProcessInformation* info = MC_smx_process_get_info(p); simgrid::xbt::string_data remote_string; auto remote_string_address = remote( (simgrid::xbt::string_data*) ((char*) p->host + offset)); @@ -221,11 +198,13 @@ const char* MC_smx_process_get_name(smx_process_t p) if (!p->name) return nullptr; - mc_smx_process_info_t info = MC_smx_process_get_info(p); - if (!info->name) { - info->name = process->read_string(p->name); + simgrid::mc::SimixProcessInformation* info = MC_smx_process_get_info(p); + if (info->name.empty()) { + char* name = process->read_string(p->name); + info->name = name; + free(name); } - return info->name; + return info->name.c_str(); } #ifdef HAVE_SMPI diff --git a/src/mc/mc_smx.h b/src/mc/mc_smx.h index 6db9ae4a82..cecce1b235 100644 --- a/src/mc/mc_smx.h +++ b/src/mc/mc_smx.h @@ -11,7 +11,6 @@ #include #include -#include #include #include @@ -43,10 +42,6 @@ SG_BEGIN_DECL() -typedef struct s_mc_smx_process_info s_mc_smx_process_info_t, *mc_smx_process_info_t; - -XBT_PRIVATE xbt_dynar_t MC_smx_process_info_list_new(void); - XBT_PRIVATE void MC_process_smx_refresh(simgrid::mc::Process* process); /** Get the issuer of a simcall (`req->issuer`) @@ -72,7 +67,7 @@ XBT_PRIVATE int MC_smpi_process_count(void); XBT_PRIVATE smx_process_t MC_smx_resolve_process(smx_process_t process_remote_address); /** Get the process info structure from the process remote address */ -XBT_PRIVATE mc_smx_process_info_t MC_smx_resolve_process_info(smx_process_t process_remote_address); +XBT_PRIVATE simgrid::mc::SimixProcessInformation* MC_smx_resolve_process_info(smx_process_t process_remote_address); XBT_PRIVATE unsigned long MC_smx_get_maxpid(void); diff --git a/src/mc/mc_visited.cpp b/src/mc/mc_visited.cpp index 1d218bebac..8f07b4ca68 100644 --- a/src/mc/mc_visited.cpp +++ b/src/mc/mc_visited.cpp @@ -67,8 +67,8 @@ static mc_visited_state_t visited_state_new() process->get_malloc_info()); MC_process_smx_refresh(&mc_model_checker->process()); - new_state->nb_processes = xbt_dynar_length( - mc_model_checker->process().smx_process_infos); + new_state->nb_processes = + mc_model_checker->process().smx_process_infos.size(); new_state->system_state = simgrid::mc::take_snapshot(mc_stats->expanded_states); new_state->num = mc_stats->expanded_states; @@ -89,8 +89,8 @@ mc_visited_pair_t MC_visited_pair_new(int pair_num, xbt_automaton_state_t automa process->get_malloc_info()); MC_process_smx_refresh(&mc_model_checker->process()); - pair->nb_processes = xbt_dynar_length( - mc_model_checker->process().smx_process_infos); + pair->nb_processes = + mc_model_checker->process().smx_process_infos.size(); pair->automaton_state = automaton_state; pair->num = pair_num; diff --git a/src/msg/msg_task.cpp b/src/msg/msg_task.cpp index 8c3a95f0c3..b7e6a6d1a8 100644 --- a/src/msg/msg_task.cpp +++ b/src/msg/msg_task.cpp @@ -326,18 +326,6 @@ double MSG_task_get_remaining_communication(msg_task_t task) return simcall_comm_get_remains(task->simdata->comm); } -#ifdef HAVE_LATENCY_BOUND_TRACKING -/** \ingroup m_task_management - * \brief Return 1 if communication task is limited by latency, 0 otherwise - */ -int MSG_task_is_latency_bounded(msg_task_t task) -{ - xbt_assert((task != NULL) && (task->simdata != NULL), "Invalid parameter"); - XBT_DEBUG("calling simcall_communication_is_latency_bounded(%p)", task->simdata->comm); - return simcall_comm_is_latency_bounded(task->simdata->comm); -} -#endif - /** \ingroup m_task_management * \brief Returns the size of the data attached to a task #msg_task_t. */ diff --git a/src/simix/libsmx.cpp b/src/simix/libsmx.cpp index 6e476ecd74..cdd3b404b5 100644 --- a/src/simix/libsmx.cpp +++ b/src/simix/libsmx.cpp @@ -1011,13 +1011,6 @@ smx_process_t simcall_comm_get_dst_proc(smx_synchro_t comm) return simcall_BODY_comm_get_dst_proc(comm); } -#ifdef HAVE_LATENCY_BOUND_TRACKING -int simcall_comm_is_latency_bounded(smx_synchro_t comm) -{ - return simcall_BODY_comm_is_latency_bounded(comm); -} -#endif - /** * \ingroup simix_synchro_management * diff --git a/src/simix/popping_accessors.h b/src/simix/popping_accessors.h index 6806eb0e2c..d3c67e9775 100644 --- a/src/simix/popping_accessors.h +++ b/src/simix/popping_accessors.h @@ -1380,22 +1380,6 @@ static inline void* simcall_run_kernel__get__code(smx_simcall_t simcall) { static inline void simcall_run_kernel__set__code(smx_simcall_t simcall, void* arg) { simcall->args[0].dp = arg; } -#ifdef HAVE_LATENCY_BOUND_TRACKING - -static inline smx_synchro_t simcall_comm_is_latency_bounded__get__comm(smx_simcall_t simcall) { - return (smx_synchro_t) simcall->args[0].dp; -} -static inline void simcall_comm_is_latency_bounded__set__comm(smx_simcall_t simcall, void* arg) { - simcall->args[0].dp = arg; -} -static inline int simcall_comm_is_latency_bounded__get__result(smx_simcall_t simcall){ - return simcall->result.i; -} -static inline void simcall_comm_is_latency_bounded__set__result(smx_simcall_t simcall, int result){ - simcall->result.i = result; -} -#endif - #ifdef HAVE_MC static inline mc_snapshot_t simcall_mc_snapshot__get__result(smx_simcall_t simcall){ @@ -1477,10 +1461,6 @@ XBT_PRIVATE sg_size_t simcall_HANDLER_storage_get_free_size(smx_simcall_t simcal XBT_PRIVATE sg_size_t simcall_HANDLER_storage_get_used_size(smx_simcall_t simcall, smx_storage_t name); XBT_PRIVATE xbt_dict_t simcall_HANDLER_asr_get_properties(smx_simcall_t simcall, const char* name); XBT_PRIVATE int simcall_HANDLER_mc_random(smx_simcall_t simcall, int min, int max); -#ifdef HAVE_LATENCY_BOUND_TRACKING - -#endif - #ifdef HAVE_MC XBT_PRIVATE mc_snapshot_t simcall_HANDLER_mc_snapshot(smx_simcall_t simcall); XBT_PRIVATE int simcall_HANDLER_mc_compare_snapshots(smx_simcall_t simcall, mc_snapshot_t s1, mc_snapshot_t s2); diff --git a/src/simix/popping_bodies.cpp b/src/simix/popping_bodies.cpp index bdc2c1dc63..2a0c62d516 100644 --- a/src/simix/popping_bodies.cpp +++ b/src/simix/popping_bodies.cpp @@ -1845,30 +1845,6 @@ inline static void simcall_BODY_run_kernel(void* code) { } } -#ifdef HAVE_LATENCY_BOUND_TRACKING - -inline static int simcall_BODY_comm_is_latency_bounded(smx_synchro_t comm) { - smx_process_t self = SIMIX_process_self(); - - /* Go to that function to follow the code flow through the simcall barrier */ - if (0) SIMIX_comm_is_latency_bounded(comm); - /* end of the guide intended to the poor programmer wanting to go from MSG to Surf */ - - self->simcall.call = SIMCALL_COMM_IS_LATENCY_BOUNDED; - memset(&self->simcall.result, 0, sizeof(self->simcall.result)); - memset(self->simcall.args, 0, sizeof(self->simcall.args)); - self->simcall.args[0].dp = (void*) comm; - if (self != simix_global->maestro_process) { - XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, - SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); - SIMIX_process_yield(self); - } else { - SIMIX_simcall_handle(&self->simcall, 0); - } - return (int) self->simcall.result.i; - } -#endif - #ifdef HAVE_MC inline static mc_snapshot_t simcall_BODY_mc_snapshot() { diff --git a/src/simix/popping_enum.h b/src/simix/popping_enum.h index a523f45b11..4f357d8bd9 100644 --- a/src/simix/popping_enum.h +++ b/src/simix/popping_enum.h @@ -101,10 +101,6 @@ typedef enum { SIMCALL_MC_RANDOM, SIMCALL_SET_CATEGORY, SIMCALL_RUN_KERNEL, -#ifdef HAVE_LATENCY_BOUND_TRACKING - SIMCALL_COMM_IS_LATENCY_BOUNDED, -#endif - #ifdef HAVE_MC SIMCALL_MC_SNAPSHOT, SIMCALL_MC_COMPARE_SNAPSHOTS, diff --git a/src/simix/popping_generated.cpp b/src/simix/popping_generated.cpp index 67e05999a0..2306854f1f 100644 --- a/src/simix/popping_generated.cpp +++ b/src/simix/popping_generated.cpp @@ -106,10 +106,6 @@ const char* simcall_names[] = { "SIMCALL_MC_RANDOM", "SIMCALL_SET_CATEGORY", "SIMCALL_RUN_KERNEL", -#ifdef HAVE_LATENCY_BOUND_TRACKING - "SIMCALL_COMM_IS_LATENCY_BOUNDED", -#endif - #ifdef HAVE_MC "SIMCALL_MC_SNAPSHOT", "SIMCALL_MC_COMPARE_SNAPSHOTS", @@ -523,14 +519,6 @@ case SIMCALL_RUN_KERNEL: SIMIX_simcall_answer(simcall); break; -#ifdef HAVE_LATENCY_BOUND_TRACKING -case SIMCALL_COMM_IS_LATENCY_BOUNDED: - simcall->result.i = SIMIX_comm_is_latency_bounded((smx_synchro_t) simcall->args[0].dp); - SIMIX_simcall_answer(simcall); - break; - -#endif - #ifdef HAVE_MC case SIMCALL_MC_SNAPSHOT: simcall->result.dp = simcall_HANDLER_mc_snapshot(simcall ); diff --git a/src/simix/simcalls.in b/src/simix/simcalls.in index 90e4e5f507..a98a6d3550 100644 --- a/src/simix/simcalls.in +++ b/src/simix/simcalls.in @@ -142,8 +142,6 @@ Proc - set_category (void) (synchro, void*, smx_synchro_t) (category, const char Proc - run_kernel (void) (code, void*) -## HAVE_LATENCY_BOUND_TRACKING -Func - comm_is_latency_bounded (int) (comm, void*, smx_synchro_t) ## HAVE_MC Func H mc_snapshot (void*, mc_snapshot_t) Func H mc_compare_snapshots (int) (s1, void*, mc_snapshot_t) (s2, void*, mc_snapshot_t) diff --git a/src/simix/smx_network.cpp b/src/simix/smx_network.cpp index b71564792b..58b1ac1f1d 100644 --- a/src/simix/smx_network.cpp +++ b/src/simix/smx_network.cpp @@ -252,12 +252,6 @@ smx_synchro_t SIMIX_comm_new(e_smx_comm_type_t type) synchro->comm.src_data=NULL; synchro->comm.dst_data=NULL; - -#ifdef HAVE_LATENCY_BOUND_TRACKING - //initialize with unknown value - synchro->latency_limited = -1; -#endif - synchro->category = NULL; XBT_DEBUG("Create communicate synchro %p", synchro); @@ -286,10 +280,6 @@ void SIMIX_comm_destroy(smx_synchro_t synchro) XBT_DEBUG("Really free communication %p; refcount is now %d", synchro, synchro->comm.refcount); -#ifdef HAVE_LATENCY_BOUND_TRACKING - synchro->latency_limited = SIMIX_comm_is_latency_bounded( synchro ) ; -#endif - xbt_free(synchro->name); SIMIX_comm_destroy_internal_actions(synchro); @@ -311,9 +301,6 @@ void SIMIX_comm_destroy(smx_synchro_t synchro) void SIMIX_comm_destroy_internal_actions(smx_synchro_t synchro) { if (synchro->comm.surf_comm){ -#ifdef HAVE_LATENCY_BOUND_TRACKING - synchro->latency_limited = SIMIX_comm_is_latency_bounded(synchro); -#endif synchro->comm.surf_comm->unref(); synchro->comm.surf_comm = NULL; } @@ -1018,25 +1005,6 @@ smx_process_t SIMIX_comm_get_dst_proc(smx_synchro_t synchro) return synchro->comm.dst_proc; } -#ifdef HAVE_LATENCY_BOUND_TRACKING -/** - * \brief verify if communication is latency bounded - * \param comm The communication - */ -int SIMIX_comm_is_latency_bounded(smx_synchro_t synchro) -{ - if(!synchro){ - return 0; - } - if (synchro->comm.surf_comm){ - XBT_DEBUG("Getting latency limited for surf_action (%p)", synchro->comm.surf_comm); - synchro->latency_limited = surf_network_action_get_latency_limited(synchro->comm.surf_comm); - XBT_DEBUG("synchro limited is %d", synchro->latency_limited); - } - return synchro->latency_limited; -} -#endif - /******************************************************************************/ /* SIMIX_comm_copy_data callbacks */ /******************************************************************************/ diff --git a/src/simix/smx_network_private.h b/src/simix/smx_network_private.h index 6fa2f7e2d5..a1039d6551 100644 --- a/src/simix/smx_network_private.h +++ b/src/simix/smx_network_private.h @@ -24,10 +24,6 @@ typedef struct s_smx_rvpoint { XBT_PRIVATE void SIMIX_network_init(void); XBT_PRIVATE void SIMIX_network_exit(void); -#ifdef HAVE_LATENCY_BOUND_TRACKING -XBT_PUBLIC(int) SIMIX_comm_is_latency_bounded(smx_synchro_t comm); -#endif - XBT_PRIVATE smx_mailbox_t SIMIX_rdv_create(const char *name); XBT_PRIVATE void SIMIX_rdv_destroy(smx_mailbox_t rdv); XBT_PRIVATE smx_mailbox_t SIMIX_rdv_get_by_name(const char *name); diff --git a/src/simix/smx_private.h b/src/simix/smx_private.h index 067611d6fa..89efe32e35 100644 --- a/src/simix/smx_private.h +++ b/src/simix/smx_private.h @@ -203,10 +203,6 @@ typedef struct s_smx_synchro { } io; }; -#ifdef HAVE_LATENCY_BOUND_TRACKING - int latency_limited; -#endif - char *category; /* simix action category for instrumentation */ } s_smx_synchro_t; diff --git a/src/surf/maxmin.cpp b/src/surf/maxmin.cpp index bf00e283fc..9ec893fd5c 100644 --- a/src/surf/maxmin.cpp +++ b/src/surf/maxmin.cpp @@ -1254,14 +1254,6 @@ XBT_INLINE lmm_constraint_t lmm_get_next_active_constraint(lmm_system_t return (lmm_constraint_t)xbt_swag_getNext(cnst, (sys->active_constraint_set).offset); } -#ifdef HAVE_LATENCY_BOUND_TRACKING -XBT_PUBLIC(int) lmm_is_variable_limited_by_latency(lmm_variable_t var) -{ - return (double_equals(var->bound, var->value, var->bound*sg_maxmin_precision)); -} -#endif - - /** \brief Update the constraint set propagating recursively to * other constraints so the system should not be entirely computed. * diff --git a/src/surf/network_cm02.cpp b/src/surf/network_cm02.cpp index 1f075189ca..35dae591bb 100644 --- a/src/surf/network_cm02.cpp +++ b/src/surf/network_cm02.cpp @@ -305,11 +305,9 @@ void NetworkCm02Model::updateActionsStateFull(double now, double delta) } } -Action *NetworkCm02Model::communicate(NetCard *src, NetCard *dst, - double size, double rate) +Action *NetworkCm02Model::communicate(NetCard *src, NetCard *dst, double size, double rate) { int failed = 0; - NetworkCm02Action *action = NULL; double bandwidth_bound; double latency = 0.0; std::vector * back_route = NULL; @@ -336,11 +334,7 @@ Action *NetworkCm02Model::communicate(NetCard *src, NetCard *dst, failed = 1; } - action = new NetworkCm02Action(this, size, failed); - -#ifdef HAVE_LATENCY_BOUND_TRACKING - action->m_latencyLimited = 0; -#endif + NetworkCm02Action *action = new NetworkCm02Action(this, size, failed); action->m_weight = action->m_latency = latency; action->m_rate = rate; @@ -375,8 +369,7 @@ Action *NetworkCm02Model::communicate(NetCard *src, NetCard *dst, constraints_per_variable += back_route->size(); if (action->m_latency > 0) { - action->p_variable = lmm_variable_new(p_maxminSystem, action, 0.0, -1.0, - constraints_per_variable); + action->p_variable = lmm_variable_new(p_maxminSystem, action, 0.0, -1.0, constraints_per_variable); if (p_updateMechanism == UM_LAZY) { // add to the heap the event when the latency is payed XBT_DEBUG("Added action (%p) one latency event at date %f", action, action->m_latency + action->m_lastUpdate); diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index 4629706ab3..d3ce07e193 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -166,13 +166,6 @@ namespace simgrid { for(ActionList::iterator it(runningActions->begin()), itend(runningActions->end()) ; it != itend ; ++it) { action = static_cast(&*it); -#ifdef HAVE_LATENCY_BOUND_TRACKING - if (lmm_is_variable_limited_by_latency(action->getVariable())) { - action->m_latencyLimited = 1; - } else { - action->m_latencyLimited = 0; - } -#endif if (action->m_latency > 0) { minRes = (minRes < 0) ? action->m_latency : std::min(minRes, action->m_latency); } diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index 1b69f74584..0bda751e59 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -290,15 +290,6 @@ namespace simgrid { void setState(e_surf_action_state_t state); -#ifdef HAVE_LATENCY_BOUND_TRACKING - /** - * @brief Check if the action is limited by latency. - * - * @return 1 if action is limited by latency, 0 otherwise - */ - virtual int getLatencyLimited() {return m_latencyLimited;} -#endif - double m_latency; double m_latCurrent; double m_weight; @@ -306,12 +297,7 @@ namespace simgrid { const char* p_senderLinkName; double m_senderSize; xbt_fifo_item_t p_senderFifoItem; -#ifdef HAVE_LATENCY_BOUND_TRACKING - int m_latencyLimited; -#endif - }; - } } diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp index ea21715f1d..dbd4db1cb5 100644 --- a/src/surf/network_ns3.cpp +++ b/src/surf/network_ns3.cpp @@ -399,13 +399,7 @@ NetworkNS3Action::NetworkNS3Action(Model *model, double cost, bool failed) : NetworkAction(model, cost, failed) {} -#ifdef HAVE_LATENCY_BOUND_TRACKING - int NetworkNS3Action::getLatencyLimited() { - return m_latencyLimited; - } -#endif - - void NetworkNS3Action::suspend() +void NetworkNS3Action::suspend() { THROW_UNIMPLEMENTED; } diff --git a/src/surf/network_ns3.hpp b/src/surf/network_ns3.hpp index 0a0dd90aaf..3807ebe724 100644 --- a/src/surf/network_ns3.hpp +++ b/src/surf/network_ns3.hpp @@ -79,10 +79,6 @@ class NetworkNS3Action : public NetworkAction { public: NetworkNS3Action(Model *model, double cost, bool failed); -#ifdef HAVE_LATENCY_BOUND_TRACKING - int getLatencyLimited(); -#endif - bool isSuspended(); int unref(); void suspend(); diff --git a/src/surf/surf_c_bindings.cpp b/src/surf/surf_c_bindings.cpp index 803c9349b1..fb652db524 100644 --- a/src/surf/surf_c_bindings.cpp +++ b/src/surf/surf_c_bindings.cpp @@ -308,12 +308,6 @@ void surf_cpu_action_set_bound(surf_action_t action, double bound) { static_cast(action)->setBound(bound); } -#ifdef HAVE_LATENCY_BOUND_TRACKING -double surf_network_action_get_latency_limited(surf_action_t action) { - return static_cast(action)->getLatencyLimited(); -} -#endif - surf_file_t surf_storage_action_get_file(surf_action_t action){ return static_cast(action)->p_file; } diff --git a/src/surf/surf_interface.hpp b/src/surf/surf_interface.hpp index 4b3a940dd0..9cba1d1d55 100644 --- a/src/surf/surf_interface.hpp +++ b/src/surf/surf_interface.hpp @@ -226,9 +226,6 @@ private: double m_start; /**< start time */ char *p_category = NULL; /**< tracing category for categorized resource utilization monitoring */ - #ifdef HAVE_LATENCY_BOUND_TRACKING - int m_latencyLimited; /**< Set to 1 if is limited by latency, 0 otherwise */ - #endif double m_cost; simgrid::surf::Model *p_model; void *p_data = NULL; /**< for your convenience */ diff --git a/src/surf/trace_mgr.cpp b/src/surf/trace_mgr.cpp index cc0eeddd1e..32558c2bfc 100644 --- a/src/surf/trace_mgr.cpp +++ b/src/surf/trace_mgr.cpp @@ -17,7 +17,8 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_trace, surf, "Surf trace management"); static xbt_dict_t trace_list = NULL; -simgrid::trace_mgr::future_evt_set::future_evt_set() { +simgrid::trace_mgr::future_evt_set::future_evt_set() +{ } simgrid::trace_mgr::future_evt_set::~future_evt_set() @@ -25,224 +26,7 @@ simgrid::trace_mgr::future_evt_set::~future_evt_set() xbt_heap_free(p_heap); } -#if 0 /* probabilistic dead code. Should be reimplemented, not killed (please) */ -/** - * \brief Create a #tmgr_trace_t from probabilist generators - * - * This trace will generate an infinite set of events. - * It needs two #probabilist_event_generator_t. The date when the event are - * triggered is directed by date_generator, and will be interpreted as seconds. - * The value of the event is set by value_generator. The value should be between - * 0 and 1. - * - * \param id The name of the trace - * \param date_generator The #probabilist_event_generator_t which generates the time - * between two events - * \param generator2 The #probabilist_event_generator_t which generates the value - * of each events. - * \return The new #tmgr_trace_t - */ -tmgr_trace_t tmgr_trace_generator_value(const char *id, - probabilist_event_generator_t date_generator, - probabilist_event_generator_t value_generator) -{ - tmgr_trace_t trace = NULL; - - trace = xbt_new0(s_tmgr_trace_t, 1); - trace->type = e_trace_probabilist; - - trace->s_probabilist.event_generator[0] = date_generator; - trace->s_probabilist.event_generator[1] = value_generator; - trace->s_probabilist.is_state_trace = 0; - - return trace; -} - -/** - * \brief Create a #tmgr_trace_t from probabilist generators - * - * This trace will generate an infinite set of events. Value of the events - * will be alternatively 0 and 1, so this should be used as a state trace. - * - * \param id The name of the trace - * \param date_generator The #probabilist_event_generator_t which generates the time - * between two events - * \param first_event_value Set the first event value - * \return The new #tmgr_trace_t - */ -tmgr_trace_t tmgr_trace_generator_state(const char *id, - probabilist_event_generator_t date_generator, - int first_event_hostIsOn) -{ - tmgr_trace_t trace = NULL; - - trace = xbt_new0(s_tmgr_trace_t, 1); - trace->type = e_trace_probabilist; - - trace->s_probabilist.event_generator[0] = date_generator; - trace->s_probabilist.event_generator[1] = date_generator; - trace->s_probabilist.is_state_trace = 1; - trace->s_probabilist.next_event = first_event_hostIsOn; - - return trace; -} - -/** - * \brief Create a #tmgr_trace_t from probabilist generators - * - * This trace will generate an infinite set of events. Value of the events - * will be alternatively 0 and 1, so this should be used as a state trace. - * - * \param id The name of the trace - * \param avail_duration_generator The #probabilist_event_generator_t which - * set the duration of the available state, (ie 1 value) - * \param unavail_duration_generator The #probabilist_event_generator_t which - * set the duration of the unavailable state, (ie 0 value) - * \param first_event_value Set the first event value - * \return The new #tmgr_trace_t - */ -tmgr_trace_t tmgr_trace_generator_avail_unavail(const char *id, - probabilist_event_generator_t avail_duration_generator, - probabilist_event_generator_t unavail_duration_generator, - int first_event_hostIsOn) -{ - tmgr_trace_t trace = NULL; - - trace = xbt_new0(s_tmgr_trace_t, 1); - trace->type = e_trace_probabilist; - - trace->s_probabilist.event_generator[0] = unavail_duration_generator; - trace->s_probabilist.event_generator[1] = avail_duration_generator; - trace->s_probabilist.is_state_trace = 1; - trace->s_probabilist.next_event = first_event_hostIsOn; - - return trace; -} - -/** - * \brief Create a new #probabilist_event_generator_t following the uniform distribution - * - * This generator will generate uniformly distributed random values between min and max - * The id is important : it controls the seed of the generator. So, generators with the - * same id and the same parameters will generate the same values. - * - * \param id The name of the generator - * \param min The minimal generated value - * \param max The maximal generated value - * \return a new #probabilist_event_generator_t - */ -probabilist_event_generator_t tmgr_event_generator_new_uniform(const char* id, - double min, - double max) -{ - probabilist_event_generator_t event_generator = NULL; - RngStream rng_stream = NULL; - - rng_stream = sg_platf_rng_stream_get(id); - - event_generator = xbt_new0(s_probabilist_event_generator_t, 1); - event_generator->type = e_generator_uniform; - event_generator->s_uniform_parameters.min = min; - event_generator->s_uniform_parameters.max = max; - event_generator->rng_stream = rng_stream; - - tmgr_event_generator_next_value(event_generator); - - return event_generator; -} - - -/** - * \brief Create a new #probabilist_event_generator_t following the exponential distribution - * - * This generator will generate random values following the exponential distribution. - * The mean value is 1/rate . - * The id is important : it controls the seed of the generator. So, generators with the - * same id and the same parameters will generate the same values. - * - * \param id The name of the generator - * \param rate The rate parameter - * \return a new #probabilist_event_generator_t - */ -probabilist_event_generator_t tmgr_event_generator_new_exponential(const char* id, - double rate) -{ - probabilist_event_generator_t event_generator = NULL; - RngStream rng_stream = NULL; - - rng_stream = sg_platf_rng_stream_get(id); - - event_generator = xbt_new0(s_probabilist_event_generator_t, 1); - event_generator->type = e_generator_exponential; - event_generator->s_exponential_parameters.rate = rate; - event_generator->rng_stream = rng_stream; - - tmgr_event_generator_next_value(event_generator); - - return event_generator; -} - -/** - * \brief Create a new #probabilist_event_generator_t following the weibull distribution - * - * This generator will generate random values following the weibull distribution. - * The id is important : it controls the seed of the generator. So, generators with the - * same id and the same parameters will generate the same values. - * - * \param id The name of the generator - * \param scale The scale parameter - * \param shape The shape parameter - * \return a new #probabilist_event_generator_t - */ -probabilist_event_generator_t tmgr_event_generator_new_weibull(const char* id, - double scale, - double shape) -{ - probabilist_event_generator_t event_generator = NULL; - RngStream rng_stream = NULL; - - rng_stream = sg_platf_rng_stream_get(id); - - event_generator = xbt_new0(s_probabilist_event_generator_t, 1); - event_generator->type = e_generator_weibull; - event_generator->s_weibull_parameters.scale = scale; - event_generator->s_weibull_parameters.shape = shape; - event_generator->rng_stream = rng_stream; - - tmgr_event_generator_next_value(event_generator); - - return event_generator; -} -/** - * \brief Get the next random value of a #probabilist_event_generator_t - * \param generator The #probabilist_event_generator_t - * \return the next random value - */ -double tmgr_event_generator_next_value(probabilist_event_generator_t generator) -{ - - switch(generator->type) { - case e_generator_uniform: - generator->next_value = (RngStream_RandU01(generator->rng_stream) - * (generator->s_uniform_parameters.max - generator->s_uniform_parameters.min)) - + generator->s_uniform_parameters.min; - break; - case e_generator_exponential: - generator->next_value = -log(RngStream_RandU01(generator->rng_stream)) - / generator->s_exponential_parameters.rate; - break; - case e_generator_weibull: - generator->next_value = generator->s_weibull_parameters.scale - * pow( -log(RngStream_RandU01(generator->rng_stream)), - 1.0 / generator->s_weibull_parameters.shape ); - } - - return generator->next_value; -} -#endif /* probabilistic dead code */ - -tmgr_trace_t tmgr_trace_new_from_string(const char *id, const char *input, - double periodicity) +tmgr_trace_t tmgr_trace_new_from_string(const char *id, const char *input, double periodicity) { tmgr_trace_t trace = NULL; int linecount = 0; @@ -362,8 +146,7 @@ void tmgr_trace_free(tmgr_trace_t trace) } /** @brief Registers a new trace into the future event set, and get an iterator over the integrated trace */ -tmgr_trace_iterator_t simgrid::trace_mgr::future_evt_set::add_trace( - tmgr_trace_t trace, double start_time, surf::Resource *resource) +tmgr_trace_iterator_t simgrid::trace_mgr::future_evt_set::add_trace(tmgr_trace_t trace, double start_time, surf::Resource *resource) { tmgr_trace_iterator_t trace_iterator = NULL; @@ -372,8 +155,7 @@ tmgr_trace_iterator_t simgrid::trace_mgr::future_evt_set::add_trace( trace_iterator->idx = 0; trace_iterator->resource = resource; - xbt_assert((trace_iterator->idx < xbt_dynar_length(trace->event_list)), - "Your trace should have at least one event!"); + xbt_assert((trace_iterator->idx < xbt_dynar_length(trace->event_list)), "Your trace should have at least one event!"); xbt_heap_push(p_heap, trace_iterator, start_time); diff --git a/teshsuite/smpi/CMakeLists.txt b/teshsuite/smpi/CMakeLists.txt index 8c618ea710..6b946c1e8b 100644 --- a/teshsuite/smpi/CMakeLists.txt +++ b/teshsuite/smpi/CMakeLists.txt @@ -5,20 +5,20 @@ if(enable_smpi) set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc") endif() -# include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") -# foreach(x struct vector) -# add_executable (${x}/${x} ${x}/${x}.c) -# target_link_libraries(${x}/ ${x} simgrid) -# -# set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh) -# set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.c) -# -# ADD_TESH_FACTORIES(tesh-smpi-${x} "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/${x} --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/${x} ${x}.tesh) -# endforeach() + include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") + foreach(x type-hvector type-struct type-vector) + add_executable (${x} ${x}/${x}.c) + target_link_libraries(${x} simgrid) + set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x}) + set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh) + set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.c) + + ADD_TESH_FACTORIES(tesh-smpi-${x} "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/${x} --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/${x} ${x}.tesh) + endforeach() endif() set(bin_files ${bin_files} ${CMAKE_CURRENT_SOURCE_DIR}/hostfile ${CMAKE_CURRENT_SOURCE_DIR}/hostfile_coll PARENT_SCOPE) -# set(teshsuite_src ${teshsuite_src} PARENT_SCOPE) -# set(tesh_files ${tesh_files} PARENT_SCOPE) +set(teshsuite_src ${teshsuite_src} PARENT_SCOPE) +set(tesh_files ${tesh_files} PARENT_SCOPE) diff --git a/teshsuite/smpi/hvector/CMakeLists.txt b/teshsuite/smpi/hvector/CMakeLists.txt deleted file mode 100644 index 5bea7ba16e..0000000000 --- a/teshsuite/smpi/hvector/CMakeLists.txt +++ /dev/null @@ -1,20 +0,0 @@ -if(enable_smpi) - if(WIN32) - set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h") - else() - set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc") - endif() - include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") - - add_executable (hvector_test hvector_test.c) - target_link_libraries(hvector_test simgrid) -endif() - -set(tesh_files - ${tesh_files} - ${CMAKE_CURRENT_SOURCE_DIR}/hvector.tesh - PARENT_SCOPE) -set(examples_src - ${examples_src} - ${CMAKE_CURRENT_SOURCE_DIR}/hvector_test.c - PARENT_SCOPE) diff --git a/teshsuite/smpi/struct/CMakeLists.txt b/teshsuite/smpi/struct/CMakeLists.txt deleted file mode 100644 index cd6c90fd16..0000000000 --- a/teshsuite/smpi/struct/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -if(enable_smpi) - if(WIN32) - set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h") - else() - set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc") - endif() - include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") - - add_executable (struct_test struct_test.c) - target_link_libraries(struct_test simgrid) - - ADD_TESH_FACTORIES(tesh-smpi-struct "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/struct --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/struct struct.tesh) -endif() - -set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/struct.tesh PARENT_SCOPE) -set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/struct_test.c PARENT_SCOPE) diff --git a/teshsuite/smpi/hvector/hvector_test.c b/teshsuite/smpi/type-hvector/type-hvector.c similarity index 85% rename from teshsuite/smpi/hvector/hvector_test.c rename to teshsuite/smpi/type-hvector/type-hvector.c index f37f2341cc..ef277acbd0 100644 --- a/teshsuite/smpi/hvector/hvector_test.c +++ b/teshsuite/smpi/type-hvector/type-hvector.c @@ -9,7 +9,6 @@ #define SIZE 4 int main(int argc, char **argv) { - int rank, i, j; double a[SIZE][SIZE] = {{0}}; @@ -28,19 +27,16 @@ int main(int argc, char **argv) { a[i][j] = i*SIZE+j; } - /* only one column is send - * this is an exemple for non-contignous data*/ + /* only one column is send this is an exemple for non-contignous data*/ MPI_Bcast(a, 1, columntype, 0, MPI_COMM_WORLD); for(i=0; i [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9' > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI' > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304' diff --git a/teshsuite/smpi/struct/struct_test.c b/teshsuite/smpi/type-struct/type-struct.c similarity index 100% rename from teshsuite/smpi/struct/struct_test.c rename to teshsuite/smpi/type-struct/type-struct.c diff --git a/teshsuite/smpi/struct/struct.tesh b/teshsuite/smpi/type-struct/type-struct.tesh similarity index 91% rename from teshsuite/smpi/struct/struct.tesh rename to teshsuite/smpi/type-struct/type-struct.tesh index b876eb30c9..942ebc09b2 100644 --- a/teshsuite/smpi/struct/struct.tesh +++ b/teshsuite/smpi/type-struct/type-struct.tesh @@ -1,7 +1,7 @@ p Test struct ! setenv LD_LIBRARY_PATH=../../lib ! output sort -$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile -platform ../../../examples/platforms/small_platform.xml -np 2 ${bindir:=.}/struct_test -q --log=smpi_kernel.thres:warning +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile -platform ../../../examples/platforms/small_platform.xml -np 2 ${bindir:=.}/type-struct -q --log=smpi_kernel.thres:warning > [rank 0] -> Tremblay > [rank 1] -> Jupiter > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9' diff --git a/teshsuite/smpi/vector/vector_test.c b/teshsuite/smpi/type-vector/type-vector.c similarity index 100% rename from teshsuite/smpi/vector/vector_test.c rename to teshsuite/smpi/type-vector/type-vector.c diff --git a/teshsuite/smpi/vector/vector.tesh b/teshsuite/smpi/type-vector/type-vector.tesh similarity index 95% rename from teshsuite/smpi/vector/vector.tesh rename to teshsuite/smpi/type-vector/type-vector.tesh index da6bb83c94..27eb654e74 100644 --- a/teshsuite/smpi/vector/vector.tesh +++ b/teshsuite/smpi/type-vector/type-vector.tesh @@ -1,7 +1,7 @@ p Test vector ! setenv LD_LIBRARY_PATH=../../lib ! output sort -$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile -platform ${srcdir:=.}/../../../examples/platforms/small_platform.xml -np 2 ${bindir:=.}/vector_test -q --log=smpi_kernel.thres:warning +$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile -platform ${srcdir:=.}/../../../examples/platforms/small_platform.xml -np 2 ${bindir:=.}/type-vector -q --log=smpi_kernel.thres:warning > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'surf/precision' to '1e-9' > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI' > [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304' diff --git a/teshsuite/smpi/vector/CMakeLists.txt b/teshsuite/smpi/vector/CMakeLists.txt deleted file mode 100644 index f9d1285846..0000000000 --- a/teshsuite/smpi/vector/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -if(enable_smpi) - if(WIN32) - set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h") - else() - set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc") - endif() - include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi") - - add_executable (vector_test vector_test.c) - target_link_libraries(vector_test simgrid) - - ADD_TESH_FACTORIES(tesh-smpi-vector "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/vector --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/vector vector.tesh) -endif() - -set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/vector.tesh PARENT_SCOPE) -set(examples_src ${examples_src} ${CMAKE_CURRENT_SOURCE_DIR}/vector_test.c PARENT_SCOPE) diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index 193e2352ba..0ea82f69d2 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -1061,14 +1061,11 @@ set(CMAKEFILES_TXT teshsuite/smpi/bcast/CMakeLists.txt teshsuite/smpi/compute/CMakeLists.txt teshsuite/smpi/gather/CMakeLists.txt - teshsuite/smpi/hvector/CMakeLists.txt teshsuite/smpi/indexed/CMakeLists.txt teshsuite/smpi/pingpong/CMakeLists.txt teshsuite/smpi/reduce/CMakeLists.txt teshsuite/smpi/scatter/CMakeLists.txt teshsuite/smpi/shared/CMakeLists.txt - teshsuite/smpi/struct/CMakeLists.txt - teshsuite/smpi/vector/CMakeLists.txt teshsuite/smpi/isp/umpire/CMakeLists.txt teshsuite/smpi/mpich3-test/CMakeLists.txt teshsuite/smpi/mpich3-test/attr/CMakeLists.txt diff --git a/tools/cmake/Distrib.cmake b/tools/cmake/Distrib.cmake index e1cbe9cffe..d87c44fc9d 100644 --- a/tools/cmake/Distrib.cmake +++ b/tools/cmake/Distrib.cmake @@ -280,14 +280,13 @@ add_custom_target(distcheck COMMAND ${CMAKE_COMMAND} -E echo "XXX Configure" COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_TEST_DIR}/${PROJECT_NAME}-${release_version}/_build - ${CMAKE_COMMAND} - -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_TEST_DIR}/${PROJECT_NAME}-${release_version}/_inst - .. + ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_TEST_DIR}/${PROJECT_NAME}-${release_version}/_inst -Denable_lto=OFF .. + COMMAND ${CMAKE_COMMAND} -E echo "XXX Build" - COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_TEST_DIR}/${PROJECT_NAME}-${release_version}/_build ${CMAKE_MAKE_PROGRAM} - + COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_TEST_DIR}/${PROJECT_NAME}-${release_version}/_build ${CMAKE_MAKE_PROGRAM} -j 4 + COMMAND ${CMAKE_COMMAND} -E echo "XXX Test" - COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_TEST_DIR}/${PROJECT_NAME}-${release_version}/_build ctest --output-on-failure + COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_TEST_DIR}/${PROJECT_NAME}-${release_version}/_build ctest --output-on-failure -j 4 COMMAND ${CMAKE_COMMAND} -E echo "XXX Install" COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_TEST_DIR}/${PROJECT_NAME}-${release_version}/_build ${CMAKE_MAKE_PROGRAM} install diff --git a/tools/cmake/Java.cmake b/tools/cmake/Java.cmake index d7202299db..05680ae4b8 100644 --- a/tools/cmake/Java.cmake +++ b/tools/cmake/Java.cmake @@ -134,8 +134,10 @@ if(enable_lib_in_jar) COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO} ${JAVA_NATIVE_PATH}/${LIBSIMGRID_SO} COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_JAVA_SO} ${JAVA_NATIVE_PATH}/${LIBSIMGRID_JAVA_SO} - # There is no way to disable the dependency of mingw-64 on that lib, unfortunately - # nor to script cmake -E properly, so let's be brutal + # There is no way to disable the dependency of mingw-64 on that lib, unfortunately nor to script cmake -E properly + # So let's be brutal and copy it in any case (even on non-windows builds). + # The copy is only expected to work on the appveyor builder, but that's all we need right now + # since our users are directed to download that file as nightly build. COMMAND ${CMAKE_COMMAND} -E copy_if_different C:/mingw64/bin/libwinpthread-1.dll ${JAVA_NATIVE_PATH}/libwinpthread-1.dll || true COMMAND ${JAVA_ARCHIVE} -uvf ${SIMGRID_JAR} ${JAVA_NATIVE_PATH} diff --git a/tools/cmake/Option.cmake b/tools/cmake/Option.cmake index 540753a98c..28df01f65d 100644 --- a/tools/cmake/Option.cmake +++ b/tools/cmake/Option.cmake @@ -18,7 +18,6 @@ option(enable_lua "Whether the Lua bindings are activated." off) option(enable_compile_warnings "Whether compilation warnings should be turned into errors." off) option(enable_maintainer_mode "Whether flex and flexml files should be rebuilt." off) option(enable_tracing "Tracing simulations for visualization." on) -option(enable_latency_bound_tracking "" off) option(enable_coverage "Whether coverage should be enabled." off) mark_as_advanced(enable_coverage) diff --git a/tools/cmake/PrintArgs.cmake b/tools/cmake/PrintArgs.cmake index e991a291c5..c159e77b8b 100644 --- a/tools/cmake/PrintArgs.cmake +++ b/tools/cmake/PrintArgs.cmake @@ -113,7 +113,6 @@ message(" Documentation................: ${enable_documentation}") message(" Model checking ..............: ${HAVE_MC}") message(" Tracing mode ................: ${enable_tracing}") message(" Jedule mode ................: ${enable_jedule}") -message(" Latency bound ...............: ${enable_latency_bound_tracking}") message(" Graphviz mode ...............: ${HAVE_GRAPHVIZ}") message(" Sigc++ mode .................: ${SIMGRID_HAVE_LIBSIG}") message(" Mallocators .................: ${enable_mallocators}") diff --git a/tools/cmake/Tests.cmake b/tools/cmake/Tests.cmake index 08799d857f..772a7c6f89 100644 --- a/tools/cmake/Tests.cmake +++ b/tools/cmake/Tests.cmake @@ -309,7 +309,6 @@ IF(NOT enable_memcheck) ADD_TESH_FACTORIES(tesh-smpi-pt2pt "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/pingpong --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/pingpong pt2pt.tesh) ADD_TESH_FACTORIES(tesh-smpi-bcast "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/bcast --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/bcast bcast.tesh) ADD_TESH_FACTORIES(tesh-smpi-reduce "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/reduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce reduce.tesh) - ADD_TESH_FACTORIES(tesh-smpi-hvector "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/hvector --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/hvector hvector.tesh) ADD_TESH_FACTORIES(tesh-smpi-indexed "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/indexed --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/indexed indexed.tesh) ADD_TESH_FACTORIES(tesh-smpi-compute "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/compute --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/compute compute.tesh) # smpi broken usage diff --git a/tools/cmake/src/internal_config.h.in b/tools/cmake/src/internal_config.h.in index de04a60007..dcff601775 100644 --- a/tools/cmake/src/internal_config.h.in +++ b/tools/cmake/src/internal_config.h.in @@ -147,11 +147,7 @@ /* Define to 1 if you have the ANSI C header files. */ #cmakedefine STDC_HEADERS @STDC_HEADERS@ -/* Tracking of latency bound */ -#cmakedefine HAVE_LATENCY_BOUND_TRACKING @HAVE_LATENCY_BOUND_TRACKING@ - -/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a - `char[]'. */ +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */ #cmakedefine YYTEXT_POINTER /* Define to `unsigned int' if does not define. */ diff --git a/tools/jenkins/DynamicAnalysis.sh b/tools/jenkins/DynamicAnalysis.sh index 40629124ce..095a4746b6 100755 --- a/tools/jenkins/DynamicAnalysis.sh +++ b/tools/jenkins/DynamicAnalysis.sh @@ -49,7 +49,7 @@ ctest -D ExperimentalStart || true cmake -Denable_documentation=OFF -Denable_lua=OFF -Denable_tracing=ON \ -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON \ - -Denable_latency_bound_tracking=OFF -Denable_jedule=OFF -Denable_mallocators=OFF \ + -Denable_jedule=OFF -Denable_mallocators=OFF \ -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=OFF -Denable_model-checking=OFF \ -Denable_memcheck_xml=ON $WORKSPACE @@ -67,7 +67,7 @@ ctest -D ExperimentalStart || true cmake -Denable_documentation=OFF -Denable_lua=ON -Denable_java=ON -Denable_tracing=ON \ -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON \ - -Denable_latency_bound_tracking=ON -Denable_jedule=ON -Denable_mallocators=ON \ + -Denable_jedule=ON -Denable_mallocators=ON \ -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_model-checking=ON \ -Denable_memcheck=OFF -Denable_memcheck_xml=OFF -Denable_smpi_ISP_testsuite=ON -Denable_coverage=ON $WORKSPACE diff --git a/tools/jenkins/build.sh b/tools/jenkins/build.sh index ebf9aacfb9..345caffd22 100755 --- a/tools/jenkins/build.sh +++ b/tools/jenkins/build.sh @@ -121,8 +121,7 @@ cmake -G"$GENERATOR"\ -Denable_mallocators=$(onoff test "$build_mode" != "DynamicAnalysis") \ -Denable_memcheck=$(onoff test "$build_mode" = "DynamicAnalysis") \ -Denable_compile_warnings=$(onoff test "$GENERATOR" != "MSYS Makefiles") -Denable_smpi=ON \ - -Denable_latency_bound_tracking=OFF -Denable_jedule=OFF \ - -Denable_tracing=ON -Denable_java=ON -Denable_lua=OFF $SRCFOLDER + -Denable_jedule=OFF -Denable_tracing=ON -Denable_java=ON -Denable_lua=OFF $SRCFOLDER # -Denable_lua=$(onoff test "$build_mode" != "DynamicAnalysis") \ make -j$NUMBER_OF_PROCESSORS VERBOSE=1