Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
authorMartin Quinson <martin.quinson@loria.fr>
Fri, 4 Mar 2016 20:37:29 +0000 (21:37 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Fri, 4 Mar 2016 20:37:29 +0000 (21:37 +0100)
57 files changed:
.gitignore
CMakeLists.txt
ChangeLog.SimGrid-java
doc/doxygen/inside_tests.doc
examples/java/cloud/cloud.tesh
examples/java/cloud/energy/energy.tesh
examples/java/cloud/migration/XVM.java
examples/java/cloud/migration/migration.tesh
examples/msg/cloud/bound.c
examples/msg/cloud/master_worker_vm.tesh
examples/msg/cloud/multicore.c
examples/msg/cloud/simple_vm.tesh
examples/msg/cloud/two_tasks_vm.tesh
examples/msg/energy/vm/energy_vm.tesh
examples/msg/properties/msg_prop.c
include/simgrid/msg.h
include/xbt/xbt_os_thread.h
src/bindings/java/jmsg_host.cpp
src/bindings/java/jmsg_vm.cpp
src/bindings/java/jmsg_vm.h
src/bindings/java/org/simgrid/msg/VM.java
src/msg/msg_host.cpp
src/msg/msg_vm.cpp
src/simix/BoostContext.cpp
src/simix/BoostContext.hpp
src/simix/RawContext.cpp
src/simix/UContext.cpp
src/simix/smx_vm.cpp
src/surf/vm_hl13.cpp
src/xbt/xbt_os_thread.c
teshsuite/msg/host_on_off_processes/host_on_off_processes.tesh
teshsuite/smpi/CMakeLists.txt
teshsuite/smpi/allgather/CMakeLists.txt [deleted file]
teshsuite/smpi/bcast/CMakeLists.txt [deleted file]
teshsuite/smpi/bcast/bcast.c [deleted file]
teshsuite/smpi/bcast/bcast.tesh [deleted file]
teshsuite/smpi/coll-allgather/coll-allgather.c [moved from teshsuite/smpi/allgather/allgather_coll.c with 99% similarity]
teshsuite/smpi/coll-allgather/coll-allgather.tesh [moved from teshsuite/smpi/allgather/allgather_coll.tesh with 97% similarity]
teshsuite/smpi/coll-bcast/coll-bcast.c [moved from teshsuite/smpi/bcast/bcast_coll.c with 88% similarity]
teshsuite/smpi/coll-bcast/coll-bcast.tesh [moved from teshsuite/smpi/bcast/bcast_coll.tesh with 96% similarity]
teshsuite/smpi/indexed/CMakeLists.txt [deleted file]
teshsuite/smpi/type-indexed/type-indexed.c [moved from teshsuite/smpi/indexed/indexed_test.c with 94% similarity]
teshsuite/smpi/type-indexed/type-indexed.tesh [moved from teshsuite/smpi/indexed/indexed.tesh with 94% similarity]
teshsuite/xbt/CMakeLists.txt [new file with mode: 0644]
teshsuite/xbt/heap_bench/CMakeLists.txt [deleted file]
teshsuite/xbt/log_large/CMakeLists.txt [deleted file]
teshsuite/xbt/log_large/log_large.c [moved from teshsuite/xbt/log_large/log_large_test.c with 100% similarity]
teshsuite/xbt/log_large/log_large.tesh [moved from teshsuite/xbt/log_large/log_large_test.tesh with 99% similarity]
teshsuite/xbt/mallocator/CMakeLists.txt [deleted file]
teshsuite/xbt/mallocator/mallocator.c [moved from teshsuite/xbt/mallocator/mallocator_test.c with 100% similarity]
teshsuite/xbt/parallel_log/CMakeLists.txt [deleted file]
teshsuite/xbt/parallel_log_crashtest/parallel_log_crashtest.c [moved from teshsuite/xbt/parallel_log/parallel_log_crashtest.c with 96% similarity]
teshsuite/xbt/parallel_log_crashtest/parallel_log_crashtest.tesh [moved from teshsuite/xbt/parallel_log/parallel_log_crashtest.tesh with 100% similarity]
teshsuite/xbt/parmap_bench/CMakeLists.txt [deleted file]
teshsuite/xbt/parmap_test/CMakeLists.txt [deleted file]
tools/cmake/DefinePackages.cmake
tools/cmake/Tests.cmake

index 7528219..b4eb310 100644 (file)
@@ -313,8 +313,7 @@ teshsuite/simdag/platforms/graphicator
 teshsuite/simdag/platforms/is_router_test
 teshsuite/simix/check_defaults/check_defaults
 teshsuite/simix/stack_overflow/stack_overflow
-teshsuite/smpi/allgather/allgather_coll
-teshsuite/smpi/allgather_coll
+teshsuite/smpi/coll-allgather/coll-allgather
 teshsuite/smpi/allgatherv/allgatherv_coll
 teshsuite/smpi/allgatherv_coll
 teshsuite/smpi/allreduce/allreduce
@@ -331,11 +330,7 @@ teshsuite/smpi/alltoallv/alltoallv_coll
 teshsuite/smpi/alltoallv_coll
 teshsuite/smpi/barrier/barrier_coll
 teshsuite/smpi/barrier_coll
-teshsuite/smpi/bcast/bcast
-teshsuite/smpi/bcast/bcast_coll
-teshsuite/smpi/bcast_coll
-teshsuite/smpi/compute2
-teshsuite/smpi/compute3
+teshsuite/smpi/coll-bcast/coll-bcast
 teshsuite/smpi/compute/compute
 teshsuite/smpi/compute/compute2
 teshsuite/smpi/compute/compute3
@@ -343,8 +338,7 @@ teshsuite/smpi/dsend
 teshsuite/smpi/gather_coll
 teshsuite/smpi/gather/gather_coll
 teshsuite/smpi/type-hvector/type-hvector
-teshsuite/smpi/indexed/indexed_test
-teshsuite/smpi/indexed_test
+teshsuite/smpi/type-indexed/type-indexed
 teshsuite/smpi/isp/umpire/abort
 teshsuite/smpi/isp/umpire/abort1
 teshsuite/smpi/isp/umpire/abort2
@@ -1026,8 +1020,7 @@ teshsuite/xbt/log_usage/log_usage
 teshsuite/xbt/mallocator/mallocator
 teshsuite/xbt/mmalloc/mmalloc_test
 teshsuite/xbt/mmalloc_test
-teshsuite/xbt/parallel_log_crashtest
-teshsuite/xbt/parallel_log/parallel_log_crashtest
+teshsuite/xbt/parallel_log_crashtest/parallel_log_crashtest
 teshsuite/xbt/parmap_bench/parmap_bench
 teshsuite/xbt/parmap_test/parmap_test
 testgraph.dot
index 914ee76..eec70e6 100644 (file)
@@ -280,13 +280,12 @@ CHECK_LIBRARY_EXISTS(dl      dlopen                  "" HAVE_DLOPEN_IN_LIBDL)
 CHECK_LIBRARY_EXISTS(execinfo backtrace              "" HAVE_BACKTRACE_IN_LIBEXECINFO)
 CHECK_LIBRARY_EXISTS(rt      clock_gettime           "" HAVE_POSIX_GETTIME)
 
-if(NOT WIN32) # We don't want to have winpthread-1.dll in the jarfile
-  CHECK_LIBRARY_EXISTS(pthread pthread_create          "" HAVE_PTHREAD)
-  CHECK_LIBRARY_EXISTS(pthread sem_init                "" HAVE_SEM_INIT_LIB)
-  CHECK_LIBRARY_EXISTS(pthread sem_open                "" HAVE_SEM_OPEN_LIB)
-  CHECK_LIBRARY_EXISTS(pthread sem_timedwait           "" HAVE_SEM_TIMEDWAIT_LIB)
-  CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock "" HAVE_MUTEX_TIMEDLOCK_LIB)
-endif()
+CHECK_LIBRARY_EXISTS(pthread pthread_create          "" HAVE_PTHREAD)
+CHECK_LIBRARY_EXISTS(pthread sem_init                "" HAVE_SEM_INIT_LIB)
+CHECK_LIBRARY_EXISTS(pthread sem_open                "" HAVE_SEM_OPEN_LIB)
+CHECK_LIBRARY_EXISTS(pthread sem_timedwait           "" HAVE_SEM_TIMEDWAIT_LIB)
+CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock "" HAVE_MUTEX_TIMEDLOCK_LIB)
+
 
 if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
   set(CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE")
index d66e6b7..5500d4f 100644 (file)
@@ -1,5 +1,11 @@
 ChangeLog for SimGrid-java, before its integration into the main source tree.
 
+SimGrid (3.13) UNRELEASED; urgency=low
+
+ Backwards Compatibility breaks
+   - VM.setBound(int load) is now VM.setBound(double bound) to meet the MSG semantics. Use VM.getSpeed()*load/100 for the legacy behavior.
+
+
 SimGrid-java (3.9) stable; urgency=low
 
  -- 2013-01-30 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
index 80988e8..d09cbe2 100644 (file)
@@ -195,9 +195,9 @@ To add a new integration test, you thus have 3 things to do:
    are displayed (using the #XBT_LOG_ISENABLED() macro), or the
    modification of the log formats to hide the timings when they
    depend on the host machine.\n
-   The script located in <project/directory>/tools/cmake/tesh/generate_tesh.sh can
+   The script located in <project/directory>/tools/tesh/generate_tesh can
    help you a lot in particular if the output is large (though a smaller output is preferable). 
-   There are also example tesh files in the <project/directory>/tools/cmake/tesh/ directory, that can be useful to understand the tesh syntax.
+   There are also example tesh files in the <project/directory>/tools/tesh/ directory, that can be useful to understand the tesh syntax.
    
  - <b>Add your test in the cmake infrastructure</b>. For that, modify
    the file <project/directory>/tools/cmake/Tests.cmake. Make sure to
index 1318b2b..7dd261f 100644 (file)
@@ -5,8 +5,6 @@
 $ java -classpath ${classpath:=.} cloud/Cloud ${srcdir:=.}/../platforms/platform.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
 > [  0.000000] (0:maestro@) Using regular java threads.
 > [  0.000000] (0:maestro@) Start2  hosts
-> [  0.000000] (0:maestro@) Create VM(VM00)@PM(Intel) with 0 mounted disks
-> [  0.000000] (0:maestro@) Create VM(VM01)@PM(Provost) with 0 mounted disks
 > [  0.000000] (1:Master@Jacquelin) create VM00
 > [  0.000000] (1:Master@Jacquelin) Put Worker WRK00 on VM00
 > [  0.000000] (1:Master@Jacquelin) create VM01
@@ -29,9 +27,7 @@ $ java -classpath ${classpath:=.} cloud/Cloud ${srcdir:=.}/../platforms/platform
 > [  4.798398] (3:WRK01@VM01) WRK01 executed task (Task01)
 > [1000.000000] (1:Master@Jacquelin) Migrate everyone to Fernand
 > [1000.000000] (1:Master@Jacquelin) Migrate VM00fromIntelto Fernand
-> [1000.000000] (5:__pr_mig_tx:VM00(Intel-Fernand)@Intel) Stage 1: Gonna send 1073741824
 > [3467.577368] (1:Master@Jacquelin) Migrate VM01fromProvostto Fernand
-> [3467.577368] (7:__pr_mig_tx:VM01(Provost-Fernand)@Provost) Stage 1: Gonna send 1073741824
 > [5931.433875] (0:maestro@) MSG_main finished; Cleaning up the simulation...
 > [5931.433875] (1:Master@Jacquelin) Let's shut down the simulation and kill everyone.
 > [5931.433875] (1:Master@Jacquelin) Master done.
index f94a06d..df7999a 100644 (file)
@@ -3,8 +3,6 @@
 $ java -classpath ${classpath:=.} cloud/energy/Main ${srcdir:=.}/../platforms/energy_platform.xml
 > [0.000000] [jmsg/INFO] Using regular java threads.
 > [MyHost1:energy VM runner:(1) 0.000000] [jmsg/INFO] Creating and starting two VMs
-> [0.000000] [surf_vm/INFO] Create VM(vmHost1)@PM(MyHost1) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vmHost3)@PM(MyHost3) with 0 mounted disks
 > [MyHost1:energy VM runner:(1) 0.000000] [jmsg/INFO] Create two tasks on Host1: one inside a VM, the other directly on the host
 > [MyHost1:energy VM runner:(1) 0.000000] [jmsg/INFO] Create two tasks on Host2: both directly on the host
 > [MyHost1:energy VM runner:(1) 0.000000] [jmsg/INFO] Create two tasks on Host3: both inside a VM
index f34da08..b62529e 100644 (file)
@@ -32,7 +32,7 @@ public class XVM extends VM {
 
   public void setLoad(int load){  
     if (load >0) {
-      this.setBound(load);
+      this.setBound(this.getSpeed()*load/100);
       //    this.getDaemon().setLoad(load);
       daemon.resume();
     } else{
index fd5c496..0368370 100644 (file)
@@ -5,30 +5,15 @@ $ java -classpath ${classpath:=.} cloud/migration/Main ${srcdir:=.}/../platforms
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] This example evaluates the migration time of a VM in presence of collocated VMs on the source and the dest nodes
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] The migrated VM has a memory intensity rate of 70% of the network BW and a cpu load of 90% " (see cloudcom 2013 paper "Adding a Live Migration Model Into SimGrid" for further information) 
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] Load of collocated VMs fluctuate between 0 and 90% in order to create a starvation issue and see whether it impacts or not the migration time
-> [0.000000] [surf_vm/INFO] Create VM(vm0)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm1)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm2)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm3)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm4)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm5)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm6)@PM(host0) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm7)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm8)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm9)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm10)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm11)@PM(host1) with 0 mounted disks
-> [0.000000] [surf_vm/INFO] Create VM(vm12)@PM(host1) with 0 mounted disks
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] Round trip of VM1 (load 90%)
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO]      - Launch migration from host 0 to host 1
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO] Start migration of VM vm0 to host1
 > [host0:cloud/migration/Test:(1) 0.000000] [jmsg/INFO]     currentLoad:90/ramSize:2048/dpIntensity:70/remaining:8.10E+11
-> [host0:__pr_mig_tx:vm0(host0-host1):(16) 0.000000] [msg_vm/INFO] Stage 1: Gonna send 2147483648
 > [host0:cloud/migration/Test:(1) 35.084170] [jmsg/INFO] End of migration of VM vm0 to node host1
 > [host0:cloud/migration/Test:(1) 35.084170] [jmsg/INFO]      - End of Migration from host 0 to host 1 (duration:35.0841702956701)
 > [host0:cloud/migration/Test:(1) 35.084170] [jmsg/INFO]      - Launch migration from host 1 to host 0
 > [host0:cloud/migration/Test:(1) 35.084170] [jmsg/INFO] Start migration of VM vm0 to host0
 > [host0:cloud/migration/Test:(1) 35.084170] [jmsg/INFO]     currentLoad:90/ramSize:2048/dpIntensity:70/remaining:6.22E+11
-> [host1:__pr_mig_tx:vm0(host1-host0):(18) 35.084170] [msg_vm/INFO] Stage 1: Gonna send 2147483648
 > [host0:cloud/migration/Test:(1) 67.551019] [jmsg/INFO] End of migration of VM vm0 to node host0
 > [host0:cloud/migration/Test:(1) 67.551019] [jmsg/INFO]      - End of Migration from host 1 to host 0 (duration:32.46684874546391)
 > [host0:cloud/migration/Test:(1) 67.551019] [jmsg/INFO] 
@@ -37,13 +22,11 @@ $ java -classpath ${classpath:=.} cloud/migration/Main ${srcdir:=.}/../platforms
 > [host0:cloud/migration/Test:(1) 67.551019] [jmsg/INFO]      - Launch migration from host 0 to host 1
 > [host0:cloud/migration/Test:(1) 67.551019] [jmsg/INFO] Start migration of VM vm0 to host1
 > [host0:cloud/migration/Test:(1) 67.551019] [jmsg/INFO]     currentLoad:80/ramSize:2048/dpIntensity:70/remaining:4.64E+11
-> [host0:__pr_mig_tx:vm0(host0-host1):(20) 67.551019] [msg_vm/INFO] Stage 1: Gonna send 2147483648
 > [host0:cloud/migration/Test:(1) 102.635189] [jmsg/INFO] End of migration of VM vm0 to node host1
 > [host0:cloud/migration/Test:(1) 102.635189] [jmsg/INFO]      - End of Migration from host 0 to host 1 (duration:35.08417029567006)
 > [host0:cloud/migration/Test:(1) 102.635189] [jmsg/INFO]      - Launch migration from host 1 to host 0
 > [host0:cloud/migration/Test:(1) 102.635189] [jmsg/INFO] Start migration of VM vm0 to host0
 > [host0:cloud/migration/Test:(1) 102.635189] [jmsg/INFO]     currentLoad:80/ramSize:2048/dpIntensity:70/remaining:2.77E+11
-> [host1:__pr_mig_tx:vm0(host1-host0):(22) 102.635189] [msg_vm/INFO] Stage 1: Gonna send 2147483648
 > [host0:cloud/migration/Test:(1) 135.102038] [jmsg/INFO] End of migration of VM vm0 to node host0
 > [host0:cloud/migration/Test:(1) 135.102038] [jmsg/INFO]      - End of Migration from host 1 to host 0 (duration:32.46684874546395)
 > [host0:cloud/migration/Test:(1) 135.102038] [jmsg/INFO] Forcefully destroy VMs
index 06a059b..ffb7387 100644 (file)
@@ -96,7 +96,7 @@ static void test_dynamic_change(void)
   double task1_remain_prev = MSG_task_get_flops_amount(task1);
 
   {
-    const double cpu_speed = MSG_get_host_speed(pm0);
+    const double cpu_speed = MSG_host_get_speed(pm0);
     int i = 0;
     for (i = 0; i < 10; i++) {
       double new_bound = (cpu_speed / 10) * i;
@@ -129,7 +129,7 @@ static void test_dynamic_change(void)
 
 static void test_one_task(msg_host_t hostA)
 {
-  const double cpu_speed = MSG_get_host_speed(hostA);
+  const double cpu_speed = MSG_host_get_speed(hostA);
   const double computation_amount = cpu_speed * 10;
   const char *hostA_name = MSG_host_get_name(hostA);
 
@@ -174,8 +174,8 @@ static void test_one_task(msg_host_t hostA)
 
 static void test_two_tasks(msg_host_t hostA, msg_host_t hostB)
 {
-  const double cpu_speed = MSG_get_host_speed(hostA);
-  xbt_assert(cpu_speed == MSG_get_host_speed(hostB));
+  const double cpu_speed = MSG_host_get_speed(hostA);
+  xbt_assert(cpu_speed == MSG_host_get_speed(hostB));
   const double computation_amount = cpu_speed * 10;
   const char *hostA_name = MSG_host_get_name(hostA);
   const char *hostB_name = MSG_host_get_name(hostB);
@@ -288,7 +288,7 @@ static int master_main(int argc, char *argv[])
 
   {
     msg_host_t vm0 = MSG_vm_create_core(pm0, "VM0");
-    const double cpu_speed = MSG_get_host_speed(pm0);
+    const double cpu_speed = MSG_host_get_speed(pm0);
     MSG_vm_set_bound(vm0, cpu_speed / 10);
     MSG_vm_start(vm0);
 
@@ -317,7 +317,7 @@ static int master_main(int argc, char *argv[])
     MSG_host_set_params(vm0, &params);
     MSG_vm_start(vm0);
 
-    const double cpu_speed = MSG_get_host_speed(pm0);
+    const double cpu_speed = MSG_host_get_speed(pm0);
     MSG_vm_start(vm0);
 
     XBT_INFO("# 10. Test migration");
index 66ee458..37b2eb0 100644 (file)
@@ -5,11 +5,9 @@ p Testing the Cloud API with a simple masterslave
 $ $SG_TEST_EXENV ${bindir:=.}/master_worker_vm$EXEEXT --log=no_loc ${srcdir:=.}/../../platforms/platform.xml
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] # Launch 2 VMs
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] create VM00 on PM(Intel)
-> [0.000000] [surf_vm/INFO] Create VM(VM00)@PM(Intel) with 0 mounted disks
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] put a process (WRK00) on VM00
 > [VM00:WRK00:(2) 0.000000] [msg_test/INFO] WRK00 is listening on mailbox(MBOX:WRK00)
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] create VM01 on PM(Provost)
-> [0.000000] [surf_vm/INFO] Create VM(VM01)@PM(Provost) with 0 mounted disks
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] put a process (WRK01) on VM01
 > [VM01:WRK01:(3) 0.000000] [msg_test/INFO] WRK01 is listening on mailbox(MBOX:WRK01)
 > [Jacquelin:master:(1) 0.000000] [msg_test/INFO] # Send a task to 2 worker process
@@ -44,15 +42,11 @@ $ $SG_TEST_EXENV ${bindir:=.}/master_worker_vm$EXEEXT --log=no_loc ${srcdir:=.}/
 > [VM01:WRK03:(5) 1097.307521] [msg_test/INFO] WRK03 received task(Task03) from mailbox(MBOX:WRK03)
 > [Jacquelin:master:(1) 1097.307521] [msg_test/INFO] # Migrate all VMs to PM(Intel)
 > [Intel:__pr_mig_tx:VM00(Intel-Intel):(7) 1097.307521] [msg_vm/WARNING] use the default max_downtime value 30ms
-> [Intel:__pr_mig_tx:VM00(Intel-Intel):(7) 1097.307521] [msg_vm/INFO] Stage 1: Gonna send 1073741824
 > [VM01:WRK03:(5) 1097.380336] [msg_test/INFO] WRK03 executed task(Task03)
 > [Provost:__pr_mig_tx:VM01(Provost-Intel):(9) 1100.382717] [msg_vm/WARNING] use the default max_downtime value 30ms
-> [Provost:__pr_mig_tx:VM01(Provost-Intel):(9) 1100.382717] [msg_vm/INFO] Stage 1: Gonna send 1073741824
 > [Jacquelin:master:(1) 3567.161124] [msg_test/INFO] # Migrate all VMs to PM(Provost)
 > [Intel:__pr_mig_tx:VM00(Intel-Provost):(11) 3567.161124] [msg_vm/WARNING] use the default max_downtime value 30ms
-> [Intel:__pr_mig_tx:VM00(Intel-Provost):(11) 3567.161124] [msg_vm/INFO] Stage 1: Gonna send 1073741824
 > [Intel:__pr_mig_tx:VM01(Intel-Provost):(13) 6034.900487] [msg_vm/WARNING] use the default max_downtime value 30ms
-> [Intel:__pr_mig_tx:VM01(Intel-Provost):(13) 6034.900487] [msg_vm/INFO] Stage 1: Gonna send 1073741824
 > [Jacquelin:master:(1) 8502.639850] [msg_test/INFO] # Shutdown the half of worker processes gracefuly. The remaining half will be forcibly killed.
 > [VM00:WRK00:(2) 8504.519504] [msg_test/INFO] WRK00 received task(finalize) from mailbox(MBOX:WRK00)
 > [VM01:WRK01:(3) 8506.399157] [msg_test/INFO] WRK01 received task(finalize) from mailbox(MBOX:WRK01)
index 32229cf..c8ad9f6 100644 (file)
@@ -335,11 +335,11 @@ int main(int argc, char *argv[])
   msg_host_t pm2 = xbt_dynar_get_as(hosts_dynar, 2, msg_host_t);
 
   XBT_INFO("%s: %d core(s), %f flops/s per each", MSG_host_get_name(pm0), MSG_host_get_core_number(pm0),
-           MSG_get_host_speed(pm0));
+           MSG_host_get_speed(pm0));
   XBT_INFO("%s: %d core(s), %f flops/s per each", MSG_host_get_name(pm1), MSG_host_get_core_number(pm1),
-           MSG_get_host_speed(pm1));
+           MSG_host_get_speed(pm1));
   XBT_INFO("%s: %d core(s), %f flops/s per each", MSG_host_get_name(pm2), MSG_host_get_core_number(pm2),
-           MSG_get_host_speed(pm2));
+           MSG_host_get_speed(pm2));
 
   MSG_process_create("master", master_main, NULL, pm0);
 
index f0e9258..e60b2c0 100644 (file)
@@ -15,23 +15,17 @@ $ $SG_TEST_EXENV ${bindir:=.}/simple_vm$EXEEXT --log=no_loc ${srcdir:=.}/../../p
 > [Fafard:master_:(1) 6.000000] [msg_test/INFO] ## Test 1 (ended)
 > [Fafard:master_:(1) 6.000000] [msg_test/INFO] ## Test 2 (started): check impact of running a task inside a VM (there is no degradation for the moment)
 > [Fafard:master_:(1) 6.000000] [msg_test/INFO] ### Put a VM on a PM, and put a task to the VM
-> [6.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [VM0:compute:(7) 6.013107] [msg_test/INFO] VM0:compute task executed 0.0131068
 > [Fafard:master_:(1) 8.000000] [msg_test/INFO] ## Test 2 (ended)
 > [Fafard:master_:(1) 8.000000] [msg_test/INFO] ## Test 3 (started): check impact of running a task collocated with a VM (there is no VM noise for the moment)
 > [Fafard:master_:(1) 8.000000] [msg_test/INFO] ### Put a VM on a PM, and put a task to the PM
-> [8.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [Fafard:compute:(8) 8.013107] [msg_test/INFO] Fafard:compute task executed 0.0131068
 > [Fafard:master_:(1) 10.000000] [msg_test/INFO] ## Test 3 (ended)
 > [Fafard:master_:(1) 10.000000] [msg_test/INFO] ## Test 4 (started): compare the cost of running two tasks inside two different VMs collocated or not (for the moment, there is no degradation for the VMs. Hence, the time should be equals to the time of test 1
 > [Fafard:master_:(1) 10.000000] [msg_test/INFO] ### Put two VMs on a PM, and put a task to each VM
-> [10.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
-> [10.000000] [surf_vm/INFO] Create VM(VM1)@PM(Fafard) with 0 mounted disks
 > [VM0:compute:(9) 10.026214] [msg_test/INFO] VM0:compute task executed 0.0262137
 > [VM1:compute:(10) 10.026214] [msg_test/INFO] VM1:compute task executed 0.0262137
 > [Fafard:master_:(1) 12.000000] [msg_test/INFO] ### Put a VM on each PM, and put a task to each VM
-> [12.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
-> [12.000000] [surf_vm/INFO] Create VM(VM1)@PM(Tremblay) with 0 mounted disks
 > [VM1:compute:(12) 12.010194] [msg_test/INFO] VM1:compute task executed 0.0101942
 > [VM0:compute:(11) 12.013107] [msg_test/INFO] VM0:compute task executed 0.0131068
 > [Fafard:master_:(1) 14.000000] [msg_test/INFO] ## Test 4 (ended)
@@ -42,33 +36,24 @@ $ $SG_TEST_EXENV ${bindir:=.}/simple_vm$EXEEXT --log=no_loc ${srcdir:=.}/../../p
 > [Tremblay:comm_rx:(18) 19.291085] [msg_test/INFO] Fafard:comm_tx to Tremblay:comm_rx => 0.291085 sec
 > [Tremblay:comm_rx:(16) 19.291085] [msg_test/INFO] Fafard:comm_tx to Tremblay:comm_rx => 0.291085 sec
 > [Fafard:master_:(1) 24.000000] [msg_test/INFO] ### Make a connection between PM0 and VM0@PM0
-> [24.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [VM0:comm_rx:(20) 24.002265] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.00226529 sec
 > [Fafard:master_:(1) 29.000000] [msg_test/INFO] ### Make a connection between PM0 and VM0@PM1
-> [29.000000] [surf_vm/INFO] Create VM(VM0)@PM(Tremblay) with 0 mounted disks
 > [VM0:comm_rx:(22) 29.158397] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.158397 sec
 > [Fafard:master_:(1) 34.000000] [msg_test/INFO] ### Make two connections between PM0 and VM0@PM1
-> [34.000000] [surf_vm/INFO] Create VM(VM0)@PM(Tremblay) with 0 mounted disks
 > [VM0:comm_rx:(26) 34.291085] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.291085 sec
 > [VM0:comm_rx:(24) 34.291085] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.291085 sec
 > [Fafard:master_:(1) 39.000000] [msg_test/INFO] ### Make a connection between PM0 and VM0@PM1, and also make a connection between PM0 and PM1
-> [39.000000] [surf_vm/INFO] Create VM(VM0)@PM(Tremblay) with 0 mounted disks
 > [Tremblay:comm_rx:(30) 39.291085] [msg_test/INFO] Fafard:comm_tx to Tremblay:comm_rx => 0.291085 sec
 > [VM0:comm_rx:(28) 39.291085] [msg_test/INFO] Fafard:comm_tx to VM0:comm_rx => 0.291085 sec
 > [Fafard:master_:(1) 44.000000] [msg_test/INFO] ### Make a connection between VM0@PM0 and PM1@PM1, and also make a connection between VM0@PM0 and VM1@PM1
-> [44.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
-> [44.000000] [surf_vm/INFO] Create VM(VM1)@PM(Tremblay) with 0 mounted disks
 > [VM1:comm_rx:(34) 44.291085] [msg_test/INFO] VM0:comm_tx to VM1:comm_rx => 0.291085 sec
 > [VM1:comm_rx:(32) 44.291085] [msg_test/INFO] VM0:comm_tx to VM1:comm_rx => 0.291085 sec
 > [Fafard:master_:(1) 49.000000] [msg_test/INFO] ## Test 5 (ended)
 > [Fafard:master_:(1) 49.000000] [msg_test/INFO] ## Test 6 (started): Check migration impact (not yet implemented neither on the CPU resource nor on the network one
 > [Fafard:master_:(1) 49.000000] [msg_test/INFO] ### Relocate VM0 between PM0 and PM1
-> [49.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [Fafard:__pr_mig_tx:VM0(Fafard-Tremblay):(38) 49.010000] [msg_vm/WARNING] use the default max_downtime value 30ms
-> [Fafard:__pr_mig_tx:VM0(Fafard-Tremblay):(38) 49.010000] [msg_vm/INFO] Stage 1: Gonna send 1073741824
 > [Bourassa:comm_rx:(36) 49.204993] [msg_test/INFO] VM0:comm_tx to Bourassa:comm_rx => 0.204993 sec
 > [Tremblay:__pr_mig_tx:VM0(Tremblay-Fafard):(40) 191.674258] [msg_vm/WARNING] use the default max_downtime value 30ms
-> [Tremblay:__pr_mig_tx:VM0(Tremblay-Fafard):(40) 191.674258] [msg_vm/INFO] Stage 1: Gonna send 1073741824
 > [334.199056] [surf_vm/CRITICAL] FIXME: may need a proper handling, 1
 > [Fafard:master_:(1) 339.199251] [msg_test/INFO] ## Test 6 (ended)
 > [339.199251] [msg_test/INFO] Bye (simulation time 339.199)
index c0c543e..c522d7b 100644 (file)
@@ -3,7 +3,6 @@
 p Testing a vm with two successive tasks
 
 $ $SG_TEST_EXENV ${bindir:=.}/two_tasks_vm$EXEEXT ${srcdir:=.}/../../platforms/small_platform.xml
-> [0.000000] [surf_vm/INFO] Create VM(VM0)@PM(Fafard) with 0 mounted disks
 > [VM0:compute:(2) 0.000000] [msg_test/INFO] VM0:compute task 1 created 0
 > [Fafard:master_:(1) 0.000000] [msg_test/INFO] aTask remaining duration: 1e+09
 > [Fafard:master_:(1) 1.000000] [msg_test/INFO] aTask remaining duration: 9.23704e+08
index e886b9f..116a014 100644 (file)
@@ -4,8 +4,6 @@ p Testing the mechanism for computing host energy consumption in case of VMs
 
 $ $SG_TEST_EXENV energy/vm/energy_vm$EXEEXT ${srcdir:=.}/../platforms/energy_platform.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
 > [  0.000000] (1:dvfs@MyHost1) Creating and starting two VMs
-> [  0.000000] (0:maestro@) Create VM(vm_host1)@PM(MyHost1) with 0 mounted disks
-> [  0.000000] (0:maestro@) Create VM(vm_host3)@PM(MyHost3) with 0 mounted disks
 > [  0.000000] (1:dvfs@MyHost1) Create two tasks on Host1: one inside a VM, the other directly on the host
 > [  0.000000] (1:dvfs@MyHost1) Create two tasks on Host2: both directly on the host
 > [  0.000000] (1:dvfs@MyHost1) Create two tasks on Host3: both inside a VM
index 8e05705..caae47f 100644 (file)
@@ -114,7 +114,7 @@ int main(int argc, char *argv[])
   hosts = MSG_hosts_as_dynar();
 
   xbt_dynar_foreach(hosts, i, host){
-    XBT_INFO("Host '%s' runs at %.0f flops/s",MSG_host_get_name(host), MSG_get_host_speed(host));
+    XBT_INFO("Host '%s' runs at %.0f flops/s",MSG_host_get_name(host), MSG_host_get_speed(host));
   }
 
   MSG_launch_application(argv[2]);
index c1a2cf3..562f659 100644 (file)
@@ -284,12 +284,16 @@ XBT_PUBLIC(void *) MSG_host_get_data(msg_host_t host);
 XBT_PUBLIC(void) MSG_host_on(msg_host_t host);
 XBT_PUBLIC(void) MSG_host_off(msg_host_t host);
 XBT_PUBLIC(msg_host_t) MSG_host_self(void);
-XBT_PUBLIC(double) MSG_get_host_speed(msg_host_t h);
+XBT_PUBLIC(double) MSG_host_get_speed(msg_host_t h);
 XBT_PUBLIC(int) MSG_host_get_core_number(msg_host_t h);
 XBT_PUBLIC(xbt_swag_t) MSG_host_get_process_list(msg_host_t h);
 XBT_PUBLIC(int) MSG_host_is_on(msg_host_t h);
 XBT_PUBLIC(int) MSG_host_is_off(msg_host_t h);
 
+// deprecated
+XBT_PUBLIC(double) MSG_get_host_speed(msg_host_t h);
+
+
 XBT_PUBLIC(double) MSG_host_get_power_peak_at(msg_host_t h, int pstate);
 XBT_PUBLIC(double) MSG_host_get_current_power_peak(msg_host_t h);
 XBT_PUBLIC(int)    MSG_host_get_nb_pstates(msg_host_t h);
index b7d7d95..93efd01 100644 (file)
@@ -27,13 +27,10 @@ typedef struct xbt_os_thread_ *xbt_os_thread_t;
 
 #ifdef _XBT_WIN32 /* defined if this is a windows system, 32bits or 64bits) */
 #include <windows.h>
-typedef DWORD xbt_os_thread_key_t;
-#else /* assume that every non-windows system is POSIX-compatible */
+#endif
 
 #include <pthread.h>
 typedef pthread_key_t xbt_os_thread_key_t;
-#endif
-
 /** Calls pthread_atfork() if present, and raise an exception otherwise.
  *
  * The only known user of this wrapper is mmalloc_preinit(), but it is absolutely mandatory there:
index dba26b2..98e5094 100644 (file)
@@ -186,7 +186,7 @@ Java_org_simgrid_msg_Host_getSpeed(JNIEnv * env,
     return -1;
   }
 
-  return (jdouble) MSG_get_host_speed(host);
+  return (jdouble) MSG_host_get_speed(host);
 }
 
 JNIEXPORT jdouble JNICALL
index 81da0b2..60c6609 100644 (file)
@@ -77,11 +77,10 @@ Java_org_simgrid_msg_VM_isRestoring(JNIEnv * env, jobject jvm) {
 }
 
 JNIEXPORT void JNICALL
-Java_org_simgrid_msg_VM_setBound(JNIEnv *env, jobject jvm, jint load) { 
+Java_org_simgrid_msg_VM_setBound(JNIEnv *env, jobject jvm, jdouble bound) { 
 
   msg_vm_t vm = jvm_get_native(env,jvm);
-  double bound = MSG_get_host_speed(vm) * load / 100;
-  MSG_vm_set_bound(vm, bound); 
+  MSG_vm_set_bound(vm, bound);
 }
 
 JNIEXPORT void JNICALL
@@ -131,7 +130,7 @@ Java_org_simgrid_msg_VM_internalmig(JNIEnv *env, jobject jvm, jobject jhost) {
   TRY{
   MSG_vm_migrate(vm,host);
   } CATCH(e){
-     XBT_INFO("CATCH EXCEPTION MIGRATION %s",e.msg);
+     XBT_VERB("CATCH EXCEPTION MIGRATION %s",e.msg);
      xbt_ex_free(e);
      jxbt_throw_host_failure(env, (char*)"during migration");
   } 
@@ -158,46 +157,3 @@ Java_org_simgrid_msg_VM_restore(JNIEnv *env, jobject jvm) {
   msg_vm_t vm = jvm_get_native(env,jvm);
   MSG_vm_restore(vm);
 }
-
-
-
-JNIEXPORT jobject JNICALL
-Java_org_simgrid_msg_VM_get_pm(JNIEnv *env, jobject jvm) {
-  jobject jhost;
-  msg_vm_t vm = jvm_get_native(env,jvm);
-  msg_host_t host = MSG_vm_get_pm(vm);
-
-  if (!host->extension(JAVA_HOST_LEVEL)) {
-    THROW_DEADCODE;
-    /* the native host not yet associated with the java host instance */
-
-    /* instanciate a new java host instance */
-    jhost = jhost_new_instance(env);
-
-    if (!jhost) {
-      jxbt_throw_jni(env, "java host instantiation failed");
-      return NULL;
-    }
-
-    /* get a global reference to the newly created host */
-    jhost = jhost_ref(env, jhost);
-
-    if (!jhost) {
-      jxbt_throw_jni(env, "global ref allocation failed");
-      return NULL;
-    }
-    /* Sets the host name */
-    const char *name = MSG_host_get_name(host);
-    jobject jname = env->NewStringUTF(name);
-    env->SetObjectField(jhost, jxbt_get_jfield(env,
-      env->FindClass("org/simgrid/msg/Host"), "name", "Ljava/lang/String;"),
-      jname);
-    /* Bind & store it */
-    jhost_bind(jhost, host, env);
-    host->extension_set(JAVA_HOST_LEVEL, (void *) jhost);
-  } else {
-    jhost = (jobject) host->extension(JAVA_HOST_LEVEL);
-  }
-
-  return jhost;
-}
index 1ed5e3b..12de5fd 100644 (file)
@@ -84,10 +84,10 @@ Java_org_simgrid_msg_VM_isRestoring(JNIEnv *env, jobject jvm);
 /**
  * Class      org_simgrid_msg_VM
  * Method      setBound
- * Signature  ()B
+ * Signature  (D)B
  */
 JNIEXPORT void JNICALL
-Java_org_simgrid_msg_VM_setBound(JNIEnv *env, jobject jvm, jint load); 
+Java_org_simgrid_msg_VM_setBound(JNIEnv *env, jobject jvm, jdouble bound); 
 
 /**
  * Class            org_simgrid_msg_VM
@@ -149,15 +149,12 @@ JNIEXPORT void JNICALL
 Java_org_simgrid_msg_VM_save(JNIEnv *env, jobject jvm);
 /**
  * Class            org_simgrid_msg_VM
- * Method           save
+ * Method           restore
  * Signature    ()V
  */
 JNIEXPORT void JNICALL
 Java_org_simgrid_msg_VM_restore(JNIEnv *env, jobject jvm);
 
-JNIEXPORT jobject JNICALL
-Java_org_simgrid_msg_VM_get_pm(JNIEnv *env, jobject jvm);
-
 SG_END_DECL()
 
 #endif
index 77cdaee..6752b0b 100644 (file)
@@ -131,10 +131,10 @@ public class VM extends Host{
 
 
        /**
-        * Bound the VM to a certain % of its vcpu capability (e.g. 75% of vm.getSpeed())
-        * @param load percentage (between [0,100]
+        * Set a CPU bound for a given VM.
+        * @param bound in flops/s
         */
-       public native void setBound(int load);
+       public native void setBound(double bound);
 
        /**
         * start the VM
index feb4f97..c5e8a47 100644 (file)
@@ -146,10 +146,20 @@ xbt_dynar_t MSG_hosts_as_dynar(void) {
 /** \ingroup m_host_management
  * \brief Return the speed of the processor (in flop/s), regardless of the current load on the machine.
  */
-double MSG_get_host_speed(msg_host_t host) {
+double MSG_host_get_speed(msg_host_t host) {
   return host->speed();
 }
 
+/** \ingroup m_host_management
+ * \brief Return the speed of the processor (in flop/s), regardless of the current load on the machine.
+ * Deprecated: use MSG_host_get_speed
+ */
+double MSG_get_host_speed(msg_host_t host) {
+  XBT_WARN("MSG_get_host_speed is deprecated: use MSG_host_get_speed");
+  return MSG_host_get_speed(host);
+}
+
+
 /** \ingroup m_host_management
  * \brief Return the number of cores.
  *
index 1d0c78e..2e11d89 100644 (file)
@@ -180,7 +180,7 @@ msg_vm_t MSG_vm_create(msg_host_t pm, const char *name,
 {
   /* For the moment, intensity_rate is the percentage against the migration
    * bandwidth */
-  double host_speed = MSG_get_host_speed(pm);
+  double host_speed = MSG_host_get_speed(pm);
   double update_speed = ((double)dp_intensity/100) * mig_netspeed;
 
   msg_vm_t vm = MSG_vm_create_core(pm, name);
@@ -610,17 +610,17 @@ static sg_size_t send_migration_data(msg_vm_t vm, msg_host_t src_pm, msg_host_t
   } else if (ret == MSG_TIMEOUT) {
     sg_size_t remaining = (sg_size_t)MSG_task_get_remaining_communication(task);
     sent = size - remaining;
-    XBT_INFO("timeout (%lf s) in sending_migration_data, remaining %llu bytes of %llu",
+    XBT_VERB("timeout (%lf s) in sending_migration_data, remaining %llu bytes of %llu",
         timeout, remaining, size);
   }
 
   /* FIXME: why try-and-catch is used here? */
   if(ret == MSG_HOST_FAILURE){
-    //XBT_INFO("SRC host failed during migration of %s (stage %d)", sg_host_name(vm), stage);
+    //XBT_DEBUG("SRC host failed during migration of %s (stage %d)", sg_host_name(vm), stage);
     MSG_task_destroy(task);
     THROWF(host_error, 0, "SRC host failed during migration of %s (stage %d)", sg_host_get_name(vm), stage);
   }else if(ret == MSG_TRANSFER_FAILURE){
-    //XBT_INFO("DST host failed during migration of %s (stage %d)", sg_host_name(vm), stage);
+    //XBT_DEBUG("DST host failed during migration of %s (stage %d)", sg_host_name(vm), stage);
     MSG_task_destroy(task);
     THROWF(host_error, 0, "DST host failed during migration of %s (stage %d)", sg_host_get_name(vm), stage);
   }
@@ -726,13 +726,13 @@ static int migration_tx_fun(int argc, char *argv[])
       /* At stage 1, we do not need timeout. We have to send all the memory
        * pages even though the duration of this tranfer exceeds the timeout
        * value. */
-      XBT_INFO("Stage 1: Gonna send %llu", ramsize);
+      XBT_VERB("Stage 1: Gonna send %llu", ramsize);
       sg_size_t sent = send_migration_data(ms->vm, ms->src_pm, ms->dst_pm, ramsize, ms->mbox, 1, 0, mig_speed, -1);
       remaining_size -= sent;
       computed_during_stage1 = lookup_computed_flop_counts(ms->vm, 1, 0);
 
       if (sent < ramsize) {
-        XBT_INFO("mig-stage1: timeout, force moving to stage 3");
+        XBT_VERB("mig-stage1: timeout, force moving to stage 3");
         skip_stage2 = 1;
       } else if (sent > ramsize)
         XBT_CRITICAL("bug");
@@ -747,7 +747,7 @@ static int migration_tx_fun(int argc, char *argv[])
     double clock_post_send = MSG_get_clock();
     mig_timeout -= (clock_post_send - clock_prev_send);
     if (mig_timeout < 0) {
-      XBT_INFO("The duration of stage 1 exceeds the timeout value (%lf > %lf), skip stage 2",
+      XBT_VERB("The duration of stage 1 exceeds the timeout value (%lf > %lf), skip stage 2",
           (clock_post_send - clock_prev_send), MIGRATION_TIMEOUT_DO_NOT_HARDCODE_ME);
       skip_stage2 = 1;
     }
@@ -815,7 +815,7 @@ static int migration_tx_fun(int argc, char *argv[])
     } else if (sent < updated_size) {
       /* When timeout happens, we move to stage 3. The size of memory pages
        * updated before timeout must be added to the remaining size. */
-      XBT_INFO("mig-stage2.%d: timeout, force moving to stage 3. sent %llu / %llu, eta %lf",
+      XBT_VERB("mig-stage2.%d: timeout, force moving to stage 3. sent %llu / %llu, eta %lf",
           stage2_round, sent, updated_size, (clock_post_send - clock_prev_send));
       remaining_size -= sent;
 
@@ -899,12 +899,12 @@ static int do_migration(msg_vm_t vm, msg_host_t src_pm, msg_host_t dst_pm)
     if(ret == MSG_HOST_FAILURE){
         // Note that since the communication failed, the owner did not change and the task should be destroyed on the other side.
         // Hence, just throw the execption
-        XBT_INFO("SRC crashes, throw an exception (m-control)");
+        XBT_ERROR("SRC crashes, throw an exception (m-control)");
         //MSG_process_kill(tx_process); // Adrien, I made a merge on Nov 28th 2014, I'm not sure whether this line is required or not 
         return -1; 
     } 
     else if((ret == MSG_TRANSFER_FAILURE) || (ret == MSG_TIMEOUT)){ // MSG_TIMEOUT here means that MSG_host_is_avail() returned false.
-        XBT_INFO("DST crashes, throw an exception (m-control)");
+        XBT_ERROR("DST crashes, throw an exception (m-control)");
         return -2;  
     }
 
index 3b4e63f..3a7ea34 100644 (file)
@@ -55,7 +55,7 @@ public:
 
 bool                BoostContext::parallel_        = false;
 xbt_parmap_t        BoostContext::parmap_          = nullptr;
-unsigned long       BoostContext::threads_working_ = 0;
+uintptr_t           BoostContext::threads_working_ = 0;
 xbt_os_thread_key_t BoostContext::worker_id_key_;
 unsigned long       BoostContext::process_index_   = 0;
 BoostContext*       BoostContext::maestro_context_ = nullptr;
@@ -245,8 +245,8 @@ void BoostParallelContext::suspend()
   }
   else {
     XBT_DEBUG("No more processes to run");
-    unsigned long worker_id =
-      (unsigned long) xbt_os_thread_get_specific(worker_id_key_);
+    uintptr_t worker_id =
+      (uintptr_t) xbt_os_thread_get_specific(worker_id_key_);
     next_context = static_cast<BoostParallelContext*>(
       workers_context_[worker_id]);
   }
@@ -269,7 +269,7 @@ void BoostParallelContext::stop()
 
 void BoostParallelContext::resume()
 {
-  unsigned long worker_id = __sync_fetch_and_add(&threads_working_, 1);
+  uintptr_t worker_id = __sync_fetch_and_add(&threads_working_, 1);
   xbt_os_thread_set_specific(worker_id_key_, (void*) worker_id);
 
   BoostParallelContext* worker_context =
index 62b6066..032e116 100644 (file)
@@ -31,7 +31,7 @@ protected: // static
   static bool parallel_;
   static xbt_parmap_t parmap_;
   static std::vector<BoostContext*> workers_context_;
-  static unsigned long threads_working_;
+  static uintptr_t threads_working_;
   static xbt_os_thread_key_t worker_id_key_;
   static unsigned long process_index_;
   static BoostContext* maestro_context_;
index 9cbb2df..bb1af0a 100644 (file)
@@ -85,7 +85,7 @@ ContextFactory* raw_factory()
 #ifdef HAVE_THREAD_CONTEXTS
 static xbt_parmap_t raw_parmap;
 static simgrid::simix::RawContext** raw_workers_context;    /* space to save the worker context in each thread */
-static unsigned long raw_threads_working;     /* number of threads that have started their work */
+static uintptr_t raw_threads_working;     /* number of threads that have started their work */
 static xbt_os_thread_key_t raw_worker_id_key; /* thread-specific storage for the thread id */
 #endif
 #ifdef ADAPTIVE_THRESHOLD
@@ -440,10 +440,10 @@ void RawContext::suspend_parallel()
   else {
     /* all processes were run, go to the barrier */
     XBT_DEBUG("No more processes to run");
-    unsigned long worker_id = (unsigned long)(uintptr_t)
+    uintptr_t worker_id = (uintptr_t)
       xbt_os_thread_get_specific(raw_worker_id_key);
     next_context = (RawContext*) raw_workers_context[worker_id];
-    XBT_DEBUG("Restoring worker stack %lu (working threads = %lu)",
+    XBT_DEBUG("Restoring worker stack %zu (working threads = %zu)",
         worker_id, raw_threads_working);
   }
 
@@ -469,11 +469,11 @@ void RawContext::resume_serial()
 void RawContext::resume_parallel()
 {
 #ifdef HAVE_THREAD_CONTEXTS
-  unsigned long worker_id = __sync_fetch_and_add(&raw_threads_working, 1);
-  xbt_os_thread_set_specific(raw_worker_id_key, (void*)(uintptr_t) worker_id);
+  uintptr_t worker_id = __sync_fetch_and_add(&raw_threads_working, 1);
+  xbt_os_thread_set_specific(raw_worker_id_key, (void*) worker_id);
   RawContext* worker_context = (RawContext*) SIMIX_context_self();
   raw_workers_context[worker_id] = worker_context;
-  XBT_DEBUG("Saving worker stack %lu", worker_id);
+  XBT_DEBUG("Saving worker stack %zu", worker_id);
   SIMIX_context_set_current(this);
   raw_swapcontext(&worker_context->stack_top_, this->stack_top_);
 #else
index 1669ed8..6d58316 100644 (file)
@@ -68,7 +68,7 @@ namespace simix {
 #ifdef HAVE_THREAD_CONTEXTS
 static xbt_parmap_t sysv_parmap;
 static simgrid::simix::ParallelUContext** sysv_workers_context;   /* space to save the worker's context in each thread */
-static unsigned long sysv_threads_working;     /* number of threads that have started their work */
+static uintptr_t sysv_threads_working;     /* number of threads that have started their work */
 static xbt_os_thread_key_t sysv_worker_id_key; /* thread-specific storage for the thread id */
 #endif
 static unsigned long sysv_process_index = 0;   /* index of the next process to run in the
@@ -316,7 +316,7 @@ void ParallelUContext::resume()
 {
 #ifdef HAVE_THREAD_CONTEXTS
   // What is my containing body?
-  unsigned long worker_id = __sync_fetch_and_add(&sysv_threads_working, 1);
+  uintptr_t worker_id = __sync_fetch_and_add(&sysv_threads_working, 1);
   // Store the number of my containing body in os-thread-specific area :
   xbt_os_thread_set_specific(sysv_worker_id_key, (void*) worker_id);
   // Get my current soul:
@@ -373,8 +373,8 @@ void ParallelUContext::suspend()
     XBT_DEBUG("No more processes to run");
     // Get back the identity of my body that was stored when starting
     // the scheduling round
-    unsigned long worker_id =
-        (unsigned long) xbt_os_thread_get_specific(sysv_worker_id_key);
+    uintptr_t worker_id =
+        (uintptr_t) xbt_os_thread_get_specific(sysv_worker_id_key);
     // Deduce the initial soul of that body
     next_context = (ParallelUContext*) sysv_workers_context[worker_id];
     // When given that soul, the body will wait for the next scheduling round
index 1bf7c7a..ae5fdbd 100644 (file)
@@ -60,7 +60,7 @@ static int __can_be_started(sg_host_t vm)
   }
 
   if (pm_overcommit) {
-    XBT_INFO("%s allows memory overcommit.", sg_host_get_name(pm));
+    XBT_VERB("%s allows memory overcommit.", sg_host_get_name(pm));
     return 1;
   }
 
index e453e8a..b0952d3 100644 (file)
@@ -142,7 +142,7 @@ VMHL13::VMHL13(VMModel *model, const char* name, xbt_dict_t props, sg_host_t hos
   /* FIXME: TODO: we have to periodically input GUESTOS_NOISE to the system? how ? */
   p_action = sub_cpu->execution_start(0);
 
-  XBT_INFO("Create VM(%s)@PM(%s) with %ld mounted disks",
+  XBT_VERB("Create VM(%s)@PM(%s) with %ld mounted disks",
     name, p_hostPM->name().c_str(), xbt_dynar_length(p_storage));
 }
 
index 78c4733..4914b24 100644 (file)
@@ -30,8 +30,6 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_sync_os, xbt,
                                 "Synchronization mechanism (OS-level)");
 
 /* ********************************* PTHREAD IMPLEMENTATION ************************************ */
-#ifndef _XBT_WIN32
-
 #include <pthread.h>
 #include <limits.h>
 #include <semaphore.h>
@@ -699,568 +697,6 @@ void xbt_os_sem_get_value(xbt_os_sem_t sem, int *svalue)
            strerror(errno));
 }
 
-/* ********************************* WINDOWS IMPLEMENTATION ************************************ */
-
-#elif defined(_XBT_WIN32)
-
-#include <math.h>
-
-typedef struct xbt_os_thread_ {
-  char *name;
-  HANDLE handle;                /* the win thread handle        */
-  unsigned long id;             /* the win thread id            */
-  pvoid_f_pvoid_t start_routine;
-  void *param;
-  void *extra_data;
-} s_xbt_os_thread_t;
-
-/* so we can specify the size of the stack of the threads */
-#ifndef STACK_SIZE_PARAM_IS_A_RESERVATION
-#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
-#endif
-
-/* the default size of the stack of the threads (in bytes)*/
-#define XBT_DEFAULT_THREAD_STACK_SIZE  4096
-static int stack_size=0;
-/* key to the TLS containing the xbt_os_thread_t structure */
-static unsigned long xbt_self_thread_key;
-
-void xbt_os_thread_mod_preinit(void)
-{
-  xbt_self_thread_key = TlsAlloc();
-
-  xbt_os_thread_t main_thread = xbt_new0(s_xbt_os_thread_t, 1);
-  main_thread->name = (char *) "main";
-  main_thread->start_routine = NULL;
-  main_thread->param = NULL;
-
-  if (!TlsSetValue(xbt_self_thread_key, main_thread))
-    THROWF(system_error, (int)GetLastError(),
-           "Impossible to set the SimGrid identity descriptor to the main thread (TlsSetValue() failed)");
-
-}
-
-void xbt_os_thread_mod_postexit(void)
-{
-
-  if (!TlsFree(xbt_self_thread_key))
-    THROWF(system_error, (int) GetLastError(),
-           "TlsFree() failed to cleanup the thread submodule");
-}
-
-int xbt_os_thread_atfork(void (*prepare)(void),
-                         void (*parent)(void), void (*child)(void))
-{
-  return 0;
-}
-
-static DWORD WINAPI wrapper_start_routine(void *s)
-{
-  xbt_os_thread_t t = (xbt_os_thread_t) s;
-  DWORD *rv;
-
-  if (!TlsSetValue(xbt_self_thread_key, t))
-    THROWF(system_error, (int) GetLastError(),
-           "TlsSetValue of data describing the created thread failed");
-
-  rv = (DWORD *) ((t->start_routine) (t->param));
-
-  return rv ? *rv : 0;
-
-}
-
-
-xbt_os_thread_t xbt_os_thread_create(const char *name,
-                                     pvoid_f_pvoid_t start_routine,
-                                     void *param,
-                                     void *extra_data)
-{
-
-  xbt_os_thread_t t = xbt_new(s_xbt_os_thread_t, 1);
-
-  t->name = xbt_strdup(name);
-  t->start_routine = start_routine;
-  t->param = param;
-  t->extra_data = extra_data;
-  t->handle = CreateThread(NULL, stack_size==0 ? XBT_DEFAULT_THREAD_STACK_SIZE : stack_size,
-                           (LPTHREAD_START_ROUTINE) wrapper_start_routine,
-                           t, STACK_SIZE_PARAM_IS_A_RESERVATION, &(t->id));
-
-  if (!t->handle) {
-    xbt_free(t);
-    THROWF(system_error, (int) GetLastError(), "CreateThread failed");
-  }
-
-  return t;
-}
-
-void xbt_os_thread_setstacksize(int size)
-{
-  stack_size = size;
-}
-
-void xbt_os_thread_setguardsize(int size)
-{
-  XBT_WARN("xbt_os_thread_setguardsize is not implemented (%d)", size);
-}
-
-const char *xbt_os_thread_name(xbt_os_thread_t t)
-{
-  return t->name;
-}
-
-const char *xbt_os_thread_self_name(void)
-{
-  xbt_os_thread_t t = xbt_os_thread_self();
-  return t ? t->name : "main";
-}
-
-void xbt_os_thread_join(xbt_os_thread_t thread, void **thread_return)
-{
-
-  if (WAIT_OBJECT_0 != WaitForSingleObject(thread->handle, INFINITE))
-    THROWF(system_error, (int) GetLastError(),
-           "WaitForSingleObject failed");
-
-  if (thread_return) {
-
-    if (!GetExitCodeThread(thread->handle, (DWORD *) (*thread_return)))
-      THROWF(system_error, (int) GetLastError(),
-             "GetExitCodeThread failed");
-  }
-
-  CloseHandle(thread->handle);
-
-  free(thread->name);
-
-  free(thread);
-}
-
-void xbt_os_thread_exit(int *retval)
-{
-  if (retval)
-    ExitThread(*retval);
-  else
-    ExitThread(0);
-}
-
-void xbt_os_thread_key_create(xbt_os_thread_key_t* key) {
-
-  *key = TlsAlloc();
-}
-
-void xbt_os_thread_set_specific(xbt_os_thread_key_t key, void* value) {
-
-  if (!TlsSetValue(key, value))
-    THROWF(system_error, (int) GetLastError(), "TlsSetValue() failed");
-}
-
-void* xbt_os_thread_get_specific(xbt_os_thread_key_t key) {
-  return TlsGetValue(key);
-}
-
-void xbt_os_thread_detach(xbt_os_thread_t thread)
-{
-  THROW_UNIMPLEMENTED;
-}
-
-
-xbt_os_thread_t xbt_os_thread_self(void)
-{
-  return TlsGetValue(xbt_self_thread_key);
-}
-
-void *xbt_os_thread_getparam(void)
-{
-  xbt_os_thread_t t = xbt_os_thread_self();
-  return t->param;
-}
-
-
-void xbt_os_thread_yield(void)
-{
-  Sleep(0);
-}
-
-void xbt_os_thread_cancel(xbt_os_thread_t t)
-{
-  if (!TerminateThread(t->handle, 0))
-    THROWF(system_error, (int) GetLastError(), "TerminateThread failed");
-}
-
-/****** mutex related functions ******/
-typedef struct xbt_os_mutex_ {
-  /* KEEP IT IN SYNC WITH xbt_thread.c */
-  CRITICAL_SECTION lock;
-} s_xbt_os_mutex_t;
-
-xbt_os_mutex_t xbt_os_mutex_init(void)
-{
-  xbt_os_mutex_t res = xbt_new(s_xbt_os_mutex_t, 1);
-
-  /* initialize the critical section object */
-  InitializeCriticalSection(&(res->lock));
-
-  return res;
-}
-
-void xbt_os_mutex_acquire(xbt_os_mutex_t mutex)
-{
-  EnterCriticalSection(&mutex->lock);
-}
-
-void xbt_os_mutex_timedacquire(xbt_os_mutex_t mutex, double delay)
-{
-  THROW_UNIMPLEMENTED;
-}
-
-void xbt_os_mutex_release(xbt_os_mutex_t mutex)
-{
-
-  LeaveCriticalSection(&mutex->lock);
-
-}
-
-void xbt_os_mutex_destroy(xbt_os_mutex_t mutex)
-{
-
-  if (!mutex)
-    return;
-
-  DeleteCriticalSection(&mutex->lock);
-  free(mutex);
-}
-
-/***** condition related functions *****/
-enum {                          /* KEEP IT IN SYNC WITH xbt_thread.c */
-  SIGNAL = 0,
-  BROADCAST = 1,
-  MAX_EVENTS = 2
-};
-
-typedef struct xbt_os_cond_ {
-  /* KEEP IT IN SYNC WITH xbt_thread.c */
-  HANDLE events[MAX_EVENTS];
-
-  unsigned int waiters_count;   /* the number of waiters                        */
-  CRITICAL_SECTION waiters_count_lock;  /* protect access to waiters_count  */
-} s_xbt_os_cond_t;
-
-xbt_os_cond_t xbt_os_cond_init(void)
-{
-
-  xbt_os_cond_t res = xbt_new0(s_xbt_os_cond_t, 1);
-
-  memset(&res->waiters_count_lock, 0, sizeof(CRITICAL_SECTION));
-
-  /* initialize the critical section object */
-  InitializeCriticalSection(&res->waiters_count_lock);
-
-  res->waiters_count = 0;
-
-  /* Create an auto-reset event */
-  res->events[SIGNAL] = CreateEvent(NULL, FALSE, FALSE, NULL);
-
-  if (!res->events[SIGNAL]) {
-    DeleteCriticalSection(&res->waiters_count_lock);
-    free(res);
-    THROWF(system_error, 0, "CreateEvent failed for the signals");
-  }
-
-  /* Create a manual-reset event. */
-  res->events[BROADCAST] = CreateEvent(NULL, TRUE, FALSE, NULL);
-
-  if (!res->events[BROADCAST]) {
-
-    DeleteCriticalSection(&res->waiters_count_lock);
-    CloseHandle(res->events[SIGNAL]);
-    free(res);
-    THROWF(system_error, 0, "CreateEvent failed for the broadcasts");
-  }
-
-  return res;
-}
-
-void xbt_os_cond_wait(xbt_os_cond_t cond, xbt_os_mutex_t mutex)
-{
-
-  unsigned long wait_result;
-  int is_last_waiter;
-
-  /* lock the threads counter and increment it */
-  EnterCriticalSection(&cond->waiters_count_lock);
-  cond->waiters_count++;
-  LeaveCriticalSection(&cond->waiters_count_lock);
-
-  /* unlock the mutex associate with the condition */
-  LeaveCriticalSection(&mutex->lock);
-
-  /* wait for a signal (broadcast or no) */
-  wait_result = WaitForMultipleObjects(2, cond->events, FALSE, INFINITE);
-
-  if (wait_result == WAIT_FAILED)
-    THROWF(system_error, 0,
-           "WaitForMultipleObjects failed, so we cannot wait on the condition");
-
-  /* we have a signal lock the condition */
-  EnterCriticalSection(&cond->waiters_count_lock);
-  cond->waiters_count--;
-
-  /* it's the last waiter or it's a broadcast ? */
-  is_last_waiter = ((wait_result == WAIT_OBJECT_0 + BROADCAST - 1)
-                    && (cond->waiters_count == 0));
-
-  LeaveCriticalSection(&cond->waiters_count_lock);
-
-  /* yes it's the last waiter or it's a broadcast
-   * only reset the manual event (the automatic event is reset in the WaitForMultipleObjects() function
-   * by the system.
-   */
-  if (is_last_waiter)
-    if (!ResetEvent(cond->events[BROADCAST]))
-      THROWF(system_error, 0, "ResetEvent failed");
-
-  /* relock the mutex associated with the condition in accordance with the posix thread specification */
-  EnterCriticalSection(&mutex->lock);
-}
-
-void xbt_os_cond_timedwait(xbt_os_cond_t cond, xbt_os_mutex_t mutex,
-                           double delay)
-{
-
-  unsigned long wait_result = WAIT_TIMEOUT;
-  int is_last_waiter;
-  unsigned long end = (unsigned long) (delay * 1000);
-
-
-  if (delay < 0) {
-    xbt_os_cond_wait(cond, mutex);
-  } else {
-    XBT_DEBUG("xbt_cond_timedwait(%p,%p,%lu)", &(cond->events),
-           &(mutex->lock), end);
-
-    /* lock the threads counter and increment it */
-    EnterCriticalSection(&cond->waiters_count_lock);
-    cond->waiters_count++;
-    LeaveCriticalSection(&cond->waiters_count_lock);
-
-    /* unlock the mutex associate with the condition */
-    LeaveCriticalSection(&mutex->lock);
-    /* wait for a signal (broadcast or no) */
-
-    wait_result = WaitForMultipleObjects(2, cond->events, FALSE, end);
-
-    switch (wait_result) {
-    case WAIT_TIMEOUT:
-      THROWF(timeout_error, GetLastError(),
-             "condition %p (mutex %p) wasn't signaled before timeout (%f)",
-             cond, mutex, delay);
-    case WAIT_FAILED:
-      THROWF(system_error, GetLastError(),
-             "WaitForMultipleObjects failed, so we cannot wait on the condition");
-    }
-
-    /* we have a signal lock the condition */
-    EnterCriticalSection(&cond->waiters_count_lock);
-    cond->waiters_count--;
-
-    /* it's the last waiter or it's a broadcast ? */
-    is_last_waiter = ((wait_result == WAIT_OBJECT_0 + BROADCAST - 1)
-                      && (cond->waiters_count == 0));
-
-    LeaveCriticalSection(&cond->waiters_count_lock);
-
-    /* yes it's the last waiter or it's a broadcast
-     * only reset the manual event (the automatic event is reset in the WaitForMultipleObjects() function
-     * by the system.
-     */
-    if (is_last_waiter)
-      if (!ResetEvent(cond->events[BROADCAST]))
-        THROWF(system_error, 0, "ResetEvent failed");
-
-    /* relock the mutex associated with the condition in accordance with the posix thread specification */
-    EnterCriticalSection(&mutex->lock);
-  }
-  /*THROW_UNIMPLEMENTED; */
-}
-
-void xbt_os_cond_signal(xbt_os_cond_t cond)
-{
-  int have_waiters;
-
-  EnterCriticalSection(&cond->waiters_count_lock);
-  have_waiters = cond->waiters_count > 0;
-  LeaveCriticalSection(&cond->waiters_count_lock);
-
-  if (have_waiters)
-    if (!SetEvent(cond->events[SIGNAL]))
-      THROWF(system_error, 0, "SetEvent failed");
-
-  xbt_os_thread_yield();
-}
-
-void xbt_os_cond_broadcast(xbt_os_cond_t cond)
-{
-  int have_waiters;
-
-  EnterCriticalSection(&cond->waiters_count_lock);
-  have_waiters = cond->waiters_count > 0;
-  LeaveCriticalSection(&cond->waiters_count_lock);
-
-  if (have_waiters)
-    SetEvent(cond->events[BROADCAST]);
-}
-
-void xbt_os_cond_destroy(xbt_os_cond_t cond)
-{
-  int error = 0;
-
-  if (!cond)
-    return;
-
-  if (!CloseHandle(cond->events[SIGNAL]))
-    error = 1;
-
-  if (!CloseHandle(cond->events[BROADCAST]))
-    error = 1;
-
-  DeleteCriticalSection(&cond->waiters_count_lock);
-
-  xbt_free(cond);
-
-  if (error)
-    THROWF(system_error, 0, "Error while destroying the condition");
-}
-
-typedef struct xbt_os_sem_ {
-  HANDLE h;
-  unsigned int value;
-  CRITICAL_SECTION value_lock;  /* protect access to value of the semaphore  */
-} s_xbt_os_sem_t;
-
-#ifndef INT_MAX
-# define INT_MAX 32767          /* let's be safe by underestimating this value: this is for 16bits only */
-#endif
-
-xbt_os_sem_t xbt_os_sem_init(unsigned int value)
-{
-  xbt_os_sem_t res;
-
-  if (value > INT_MAX)
-    THROWF(arg_error, value,
-           "Semaphore initial value too big: %ud cannot be stored as a signed int",
-           value);
-
-  res = (xbt_os_sem_t) xbt_new0(s_xbt_os_sem_t, 1);
-
-  if (!(res->h = CreateSemaphore(NULL, value, (long) INT_MAX, NULL))) {
-    THROWF(system_error, GetLastError(), "CreateSemaphore() failed: %s",
-           strerror(GetLastError()));
-    return NULL;
-  }
-
-  res->value = value;
-
-  InitializeCriticalSection(&(res->value_lock));
-
-  return res;
-}
-
-void xbt_os_sem_acquire(xbt_os_sem_t sem)
-{
-  if (!sem)
-    THROWF(arg_error, EINVAL, "Cannot acquire the NULL semaphore");
-
-  /* wait failure */
-  if (WAIT_OBJECT_0 != WaitForSingleObject(sem->h, INFINITE))
-    THROWF(system_error, GetLastError(),
-           "WaitForSingleObject() failed: %s", strerror(GetLastError()));
-  EnterCriticalSection(&(sem->value_lock));
-  sem->value--;
-  LeaveCriticalSection(&(sem->value_lock));
-}
-
-void xbt_os_sem_timedacquire(xbt_os_sem_t sem, double timeout)
-{
-  long seconds;
-  long milliseconds;
-  double end = timeout + xbt_os_time();
-
-  if (!sem)
-    THROWF(arg_error, EINVAL, "Cannot acquire the NULL semaphore");
-
-  if (timeout < 0) {
-    xbt_os_sem_acquire(sem);
-  } else {                      /* timeout can be zero <-> try acquire ) */
-
-
-    seconds = (long) floor(end);
-    milliseconds = (long) ((end - seconds) * 1000);
-    milliseconds += (seconds * 1000);
-
-    switch (WaitForSingleObject(sem->h, milliseconds)) {
-    case WAIT_OBJECT_0:
-      EnterCriticalSection(&(sem->value_lock));
-      sem->value--;
-      LeaveCriticalSection(&(sem->value_lock));
-      return;
-
-    case WAIT_TIMEOUT:
-      THROWF(timeout_error, GetLastError(),
-             "semaphore %p wasn't signaled before timeout (%f)", sem,
-             timeout);
-      return;
-
-    default:
-      THROWF(system_error, GetLastError(),
-             "WaitForSingleObject(%p,%f) failed: %s", sem, timeout,
-             strerror(GetLastError()));
-    }
-  }
-}
-
-void xbt_os_sem_release(xbt_os_sem_t sem)
-{
-  if (!sem)
-    THROWF(arg_error, EINVAL, "Cannot release the NULL semaphore");
-
-  if (!ReleaseSemaphore(sem->h, 1, NULL))
-    THROWF(system_error, GetLastError(), "ReleaseSemaphore() failed: %s",
-           strerror(GetLastError()));
-  EnterCriticalSection(&(sem->value_lock));
-  sem->value++;
-  LeaveCriticalSection(&(sem->value_lock));
-}
-
-void xbt_os_sem_destroy(xbt_os_sem_t sem)
-{
-  if (!sem)
-    THROWF(arg_error, EINVAL, "Cannot destroy the NULL semaphore");
-
-  if (!CloseHandle(sem->h))
-    THROWF(system_error, GetLastError(), "CloseHandle() failed: %s",
-           strerror(GetLastError()));
-
-  DeleteCriticalSection(&(sem->value_lock));
-
-  xbt_free(sem);
-
-}
-
-void xbt_os_sem_get_value(xbt_os_sem_t sem, int *svalue)
-{
-  if (!sem)
-    THROWF(arg_error, EINVAL,
-           "Cannot get the value of the NULL semaphore");
-
-  EnterCriticalSection(&(sem->value_lock));
-  *svalue = sem->value;
-  LeaveCriticalSection(&(sem->value_lock));
-}
-
-
-#endif
-
 
 /** @brief Returns the amount of cores on the current host */
 int xbt_os_get_numcores(void) {
index 090157a..1f4b583 100644 (file)
@@ -68,7 +68,6 @@ $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platfor
 
 $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 6 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error
 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 6: Turn on Jupiter, assign a VM on Jupiter, launch a process inside the VM, and turn off the node
-> [0.000000] [surf_vm/INFO] Create VM(vm0)@PM(Jupiter) with 0 mounted disks
 > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO]   Start daemon on vm0 (76296000.000000)
 > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO]   Execute daemon
 > [Jupiter:process_daemonJUPI:(3) 0.000000] [msg_test/INFO]   Start daemon on Jupiter (76296000.000000)
index 6b946c1..530c91a 100644 (file)
@@ -6,7 +6,7 @@ if(enable_smpi)
   endif()
 
   include_directories(BEFORE "${CMAKE_HOME_DIRECTORY}/include/smpi")
-  foreach(x type-hvector type-struct type-vector)
+  foreach(x coll-allgather coll-bcast type-hvector type-indexed 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})
@@ -14,7 +14,19 @@ if(enable_smpi)
     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)
+     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()
+
+  foreach (ALLGATHER_COLL 2dmesh 3dmesh bruck GB loosely_lr NTSLR_NB pair rdb  rhv ring SMP_NTS smp_simple 
+                          spreading_simple ompi mpich ompi_neighborexchange mvapich2 mvapich2_smp impi)
+    ADD_TESH(tesh-smpi-coll-allgather-${ALLGATHER_COLL} --cfg smpi/allgather:${ALLGATHER_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-allgather --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-allgather coll-allgather.tesh)
+  endforeach()
+
+  foreach (BCAST_COLL arrival_pattern_aware arrival_pattern_aware_wait arrival_scatter binomial_tree flattree 
+                      flattree_pipeline NTSB NTSL NTSL_Isend scatter_LR_allgather scatter_rdb_allgather SMP_binary 
+                      SMP_binomial SMP_linear ompi mpich ompi_split_bintree ompi_pipeline mvapich2 mvapich2_intra_node 
+                      mvapich2_knomial_intra_node impi)
+    ADD_TESH(tesh-smpi-coll-bcast-${BCAST_COLL} --cfg smpi/bcast:${BCAST_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/coll-bcast --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/coll-bcast coll-bcast.tesh)
   endforeach()
 endif()
 
diff --git a/teshsuite/smpi/allgather/CMakeLists.txt b/teshsuite/smpi/allgather/CMakeLists.txt
deleted file mode 100644 (file)
index 115a521..0000000
+++ /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       (allgather_coll allgather_coll.c)
-  target_link_libraries(allgather_coll simgrid)
-endif()
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/allgather_coll.tesh
-  PARENT_SCOPE)
-set(examples_src
-  ${examples_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/allgather_coll.c
-  PARENT_SCOPE)
diff --git a/teshsuite/smpi/bcast/CMakeLists.txt b/teshsuite/smpi/bcast/CMakeLists.txt
deleted file mode 100644 (file)
index 9789588..0000000
+++ /dev/null
@@ -1,24 +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       (bcast bcast.c)
-  target_link_libraries(bcast simgrid)
-  add_executable       (bcast_coll bcast_coll.c)
-  target_link_libraries(bcast_coll simgrid)
-endif()
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/bcast.tesh
-  ${CMAKE_CURRENT_SOURCE_DIR}/bcast_coll.tesh
-  PARENT_SCOPE)
-set(examples_src
-  ${examples_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/bcast.c
-  ${CMAKE_CURRENT_SOURCE_DIR}/bcast_coll.c
-  PARENT_SCOPE)
diff --git a/teshsuite/smpi/bcast/bcast.c b/teshsuite/smpi/bcast/bcast.c
deleted file mode 100644 (file)
index e0bff2d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (c) 2009, 2012-2014. 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 <stdio.h>
-#include <mpi.h>
-
-int main(int argc, char **argv)
-{
-  int size, rank;
-  int value = 3;
-  double start_timer;
-  int quiet = 0;
-
-  MPI_Init(&argc, &argv);
-  MPI_Comm_size(MPI_COMM_WORLD, &size);
-  MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-
-  if (argc > 1 && !strcmp(argv[1], "-q"))
-    quiet = 1;
-
-  start_timer = MPI_Wtime();
-
-  if (0 == rank) {
-    value = 17;
-  }
-  MPI_Bcast(&value, 1, MPI_INT, 0, MPI_COMM_WORLD);
-  if (value != 17) {
-    printf("node %d has value %d after broadcast\n", rank, value);
-  }
-
-  MPI_Barrier(MPI_COMM_WORLD);
-  if (0 == rank && !quiet)
-    printf("Elapsed time on rank %d: %f s\n", rank,
-           MPI_Wtime() - start_timer);
-  MPI_Finalize();
-  return 0;
-}
diff --git a/teshsuite/smpi/bcast/bcast.tesh b/teshsuite/smpi/bcast/bcast.tesh
deleted file mode 100644 (file)
index 52b639a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# use the tested library, not the installed one
-# (since we want to pass it to the child, it has to be redefined before each command)
-# Go for the first test
-p Test Broadcast with less processes than hosts
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 3 ${bindir:=.}/bcast -q --log=smpi_kernel.thres:warning
-> [rank 0] -> Tremblay
-> [rank 1] -> Tremblay
-> [rank 2] -> Tremblay
-> [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'
-
-# second test
-p Test Broadcast with as much processes than hosts
-! setenv LD_LIBRARY_PATH=../../lib
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 5 ${bindir:=.}/bcast -q --log=smpi_kernel.thres:warning
-> [rank 0] -> Tremblay
-> [rank 1] -> Tremblay
-> [rank 2] -> Tremblay
-> [rank 3] -> Tremblay
-> [rank 4] -> Jupiter
-> [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'
-
-# Another test
-p Test Broadcast with more processes than hosts
-! setenv LD_LIBRARY_PATH=../../lib
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 12 ${bindir:=.}/bcast -q --log=smpi_kernel.thres:warning
-> [rank 0] -> Tremblay
-> [rank 1] -> Tremblay
-> [rank 2] -> Tremblay
-> [rank 3] -> Tremblay
-> [rank 4] -> Jupiter
-> [rank 5] -> Jupiter
-> [rank 6] -> Jupiter
-> [rank 7] -> Jupiter
-> [rank 8] -> Fafard
-> [rank 9] -> Fafard
-> [rank 10] -> Fafard
-> [rank 11] -> Fafard
-> [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'
similarity index 99%
rename from teshsuite/smpi/allgather/allgather_coll.c
rename to teshsuite/smpi/coll-allgather/coll-allgather.c
index 045154b..753aef8 100644 (file)
@@ -48,7 +48,6 @@ int main(int argc, char *argv[])
     printf("%d ", rb[i]);
   printf("]\n");
 
-
   if (rank == 0) {
     if (status != MPI_SUCCESS) {
       printf("allgather returned %d\n", status);
@@ -3,7 +3,7 @@
 ! output sort
 
 p Test all to all
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/allgather_coll --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error
+$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/coll-allgather --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error
 > [rank 0] -> Tremblay
 > [rank 1] -> Tremblay
 > [rank 2] -> Tremblay
similarity index 88%
rename from teshsuite/smpi/bcast/bcast_coll.c
rename to teshsuite/smpi/coll-bcast/coll-bcast.c
index bceaf40..0e22735 100644 (file)
@@ -11,14 +11,12 @@ int main(int argc, char **argv)
 {
   int i, size, rank;
   int count = 2048;
-  int *values;
-  int status;
 
   MPI_Init(&argc, &argv);
   MPI_Comm_size(MPI_COMM_WORLD, &size);
   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
-  
-  values = (int *) xbt_malloc(count * sizeof(int));  
+
+  int *values = (int *) xbt_malloc(count * sizeof(int));
 
   for (i = 0; i < count; i++)
     values[i] = (0 == rank) ? 17 : 3;
@@ -39,16 +37,13 @@ int main(int argc, char **argv)
   for (i = 0; i < count; i++)
     values[i] = (size -1 == rank) ? 17 : 3;
 
-  status = MPI_Bcast(values, count, MPI_INT, size-1, MPI_COMM_WORLD);
+  int status = MPI_Bcast(values, count, MPI_INT, size-1, MPI_COMM_WORLD);
 
   good = 0;
   for (i = 0; i < count; i++)
     if (values[i]==17) good++;
   printf("[%d] number of values equals to 17: %d\n", rank, good);
 
-
-  
-  
   if (rank == 0) {
     if (status != MPI_SUCCESS) {
       printf("bcast returned %d\n", status);
similarity index 96%
rename from teshsuite/smpi/bcast/bcast_coll.tesh
rename to teshsuite/smpi/coll-bcast/coll-bcast.tesh
index d4201b9..9155454 100644 (file)
@@ -2,7 +2,7 @@ p Test Broadcast with more processes than hosts
 ! setenv LD_LIBRARY_PATH=../../lib
 ! output sort
 
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/bcast_coll --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error
+$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile_coll -platform ../../../examples/platforms/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ${bindir:=.}/coll-bcast --log=smpi_kernel.thres:warning --log=smpi_coll.thres:error
 > [rank 0] -> Tremblay
 > [rank 1] -> Tremblay
 > [rank 2] -> Tremblay
diff --git a/teshsuite/smpi/indexed/CMakeLists.txt b/teshsuite/smpi/indexed/CMakeLists.txt
deleted file mode 100644 (file)
index c0b9b2e..0000000
+++ /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       (indexed_test indexed_test.c)
-  target_link_libraries(indexed_test simgrid)
-endif()
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/indexed.tesh
-  PARENT_SCOPE)
-set(examples_src
-  ${examples_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/indexed_test.c
-  PARENT_SCOPE)
similarity index 94%
rename from teshsuite/smpi/indexed/indexed_test.c
rename to teshsuite/smpi/type-indexed/type-indexed.c
index 4ceed68..aba7275 100644 (file)
@@ -18,8 +18,7 @@ int main(int argc, char *argv[])
 
     MPI_Init(&argc, &argv);
     MPI_Comm_size(MPI_COMM_WORLD, &size);
-    if (size < 2)
-    {
+    if (size < 2) {
         printf("Please run with 2 processes.\n");
         MPI_Finalize();
         return 1;
@@ -31,15 +30,13 @@ int main(int argc, char *argv[])
     MPI_Type_indexed(3, blocklen, displacement, type2, &type);
     MPI_Type_commit(&type);
 
-    if (rank == 0)
-    {
+    if (rank == 0) {
         for (i=0; i<27; i++)
             buffer[i] = i;
         MPI_Send(buffer, 1, type, 1, 123, MPI_COMM_WORLD);
     }
 
-    if (rank == 1)
-    {
+    if (rank == 1) {
         for (i=0; i<27; i++)
             buffer[i] = -1;
         MPI_Recv(buffer, 1, type, 0, 123, MPI_COMM_WORLD, &status);
similarity index 94%
rename from teshsuite/smpi/indexed/indexed.tesh
rename to teshsuite/smpi/type-indexed/type-indexed.tesh
index 75053c4..7ee71b5 100644 (file)
@@ -1,7 +1,7 @@
 p Test indexed
 ! setenv LD_LIBRARY_PATH=../../lib
 ! output sort
-$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile -platform ../../../examples/platforms/small_platform.xml -np 2 ${bindir:=.}/indexed_test -q --log=smpi_kernel.thres:warning
+$ ${bindir:=.}/../../../bin/smpirun -map -hostfile ../hostfile -platform ../../../examples/platforms/small_platform.xml -np 2 ${bindir:=.}/type-indexed -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/xbt/CMakeLists.txt b/teshsuite/xbt/CMakeLists.txt
new file mode 100644 (file)
index 0000000..fd349ae
--- /dev/null
@@ -0,0 +1,15 @@
+foreach(x heap_bench log_large mallocator parallel_log_crashtest parmap_bench parmap_test)
+    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)
+endforeach()
+
+foreach(x heap_bench log_large parallel_log_crashtest parmap_test) #mallocator parmap_bench
+    ADD_TESH(tesh-xbt-${x} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/${x} --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/${x} ${x}.tesh)
+endforeach()
+
+set(teshsuite_src ${teshsuite_src}                                             PARENT_SCOPE)
+set(tesh_files    ${tesh_files}                                                PARENT_SCOPE)
diff --git a/teshsuite/xbt/heap_bench/CMakeLists.txt b/teshsuite/xbt/heap_bench/CMakeLists.txt
deleted file mode 100644 (file)
index c4f0451..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-add_executable       (heap_bench heap_bench.c)
-target_link_libraries(heap_bench simgrid)
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/heap_bench.tesh
-  PARENT_SCOPE)
-set(testsuite_src
-  ${testsuite_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/heap_bench.c
-  PARENT_SCOPE)
diff --git a/teshsuite/xbt/log_large/CMakeLists.txt b/teshsuite/xbt/log_large/CMakeLists.txt
deleted file mode 100644 (file)
index 71ad5a3..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-add_executable       (log_large_test log_large_test.c)
-target_link_libraries(log_large_test simgrid)
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/log_large_test.tesh
-  PARENT_SCOPE)
-set(teshsuite_src
-  ${teshsuite_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/log_large_test.c
-  PARENT_SCOPE)
similarity index 99%
rename from teshsuite/xbt/log_large/log_large_test.tesh
rename to teshsuite/xbt/log_large/log_large.tesh
index a53218e..182ce65 100644 (file)
@@ -1,6 +1,6 @@
 
 p Check that the dynamic version of the log simple layout works
-$ $SG_EXENV_TEST ${bindir:=.}/log_large_test "--log=root.fmt:%m%n"
+$ $SG_EXENV_TEST ${bindir:=.}/log_large "--log=root.fmt:%m%n"
 > This is a very large message:
 > 0
 > 1.........1.........2.........3.........4.........5.........6.........7.........8.........9.........0
@@ -116,7 +116,7 @@ $ $SG_EXENV_TEST ${bindir:=.}/log_large_test "--log=root.fmt:%m%n"
 > Done (strlen>10210)
 
 p Check that the dynamic version of the log formatted layout works
-$ $SG_EXENV_TEST ${bindir:=.}/log_large_test "--log=root.fmt:%m%n"
+$ $SG_EXENV_TEST ${bindir:=.}/log_large "--log=root.fmt:%m%n"
 > This is a very large message:
 > 0
 > 1.........1.........2.........3.........4.........5.........6.........7.........8.........9.........0
diff --git a/teshsuite/xbt/mallocator/CMakeLists.txt b/teshsuite/xbt/mallocator/CMakeLists.txt
deleted file mode 100644 (file)
index 889c93e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-add_executable       (mallocator mallocator_test.c)
-target_link_libraries(mallocator simgrid)
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/mallocator.tesh
-  PARENT_SCOPE)
-set(teshsuite_src
-  ${teshsuite_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/mallocator_test.c
-  PARENT_SCOPE)
diff --git a/teshsuite/xbt/parallel_log/CMakeLists.txt b/teshsuite/xbt/parallel_log/CMakeLists.txt
deleted file mode 100644 (file)
index 8a4907a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-add_executable       (parallel_log_crashtest parallel_log_crashtest.c)
-target_link_libraries(parallel_log_crashtest simgrid)
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/parallel_log_crashtest.tesh
-  PARENT_SCOPE)
-set(teshsuite_src
-  ${teshsuite_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/parallel_log_crashtest.c
-  PARENT_SCOPE)
@@ -31,8 +31,7 @@ static void* crasher_thread(void *arg)
   return NULL;
 }
 
-int crasher(int argc, char *argv[]);
-int crasher(int argc, char *argv[])
+static int crasher(int argc, char *argv[])
 {
   int i;
   xbt_os_thread_t *crashers;
diff --git a/teshsuite/xbt/parmap_bench/CMakeLists.txt b/teshsuite/xbt/parmap_bench/CMakeLists.txt
deleted file mode 100644 (file)
index 87a8ce7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-add_executable       (parmap_bench parmap_bench.c)
-target_link_libraries(parmap_bench simgrid)
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/parmap_bench.tesh
-  PARENT_SCOPE)
-set(testsuite_src
-  ${testsuite_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/parmap_bench.c
-  PARENT_SCOPE)
diff --git a/teshsuite/xbt/parmap_test/CMakeLists.txt b/teshsuite/xbt/parmap_test/CMakeLists.txt
deleted file mode 100644 (file)
index 2301a0c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-add_executable       (parmap_test parmap_test.c)
-target_link_libraries(parmap_test simgrid)
-
-set(tesh_files
-  ${tesh_files}
-  ${CMAKE_CURRENT_SOURCE_DIR}/parmap_test.tesh
-  PARENT_SCOPE)
-set(teshsuite_src
-  ${teshsuite_src}
-  ${CMAKE_CURRENT_SOURCE_DIR}/parmap_test.c
-  PARENT_SCOPE)
index 0ea82f6..e0134f6 100644 (file)
@@ -1052,16 +1052,13 @@ set(CMAKEFILES_TXT
   teshsuite/simix/stack_overflow/CMakeLists.txt
   
   teshsuite/smpi/CMakeLists.txt
-  teshsuite/smpi/allgather/CMakeLists.txt
   teshsuite/smpi/allgatherv/CMakeLists.txt
   teshsuite/smpi/allreduce/CMakeLists.txt
   teshsuite/smpi/alltoall/CMakeLists.txt
   teshsuite/smpi/alltoallv/CMakeLists.txt
   teshsuite/smpi/barrier/CMakeLists.txt
-  teshsuite/smpi/bcast/CMakeLists.txt
   teshsuite/smpi/compute/CMakeLists.txt
   teshsuite/smpi/gather/CMakeLists.txt
-  teshsuite/smpi/indexed/CMakeLists.txt
   teshsuite/smpi/pingpong/CMakeLists.txt
   teshsuite/smpi/reduce/CMakeLists.txt
   teshsuite/smpi/scatter/CMakeLists.txt
@@ -1103,14 +1100,9 @@ set(CMAKEFILES_TXT
   teshsuite/surf/surf_usage/CMakeLists.txt
   teshsuite/surf/trace_usage/CMakeLists.txt
   
-  teshsuite/xbt/heap_bench/CMakeLists.txt
-  teshsuite/xbt/log_large/CMakeLists.txt
+  teshsuite/xbt/CMakeLists.txt
   teshsuite/xbt/log_usage/CMakeLists.txt
-  teshsuite/xbt/mallocator/CMakeLists.txt
   teshsuite/xbt/mmalloc/CMakeLists.txt
-  teshsuite/xbt/parallel_log/CMakeLists.txt
-  teshsuite/xbt/parmap_bench/CMakeLists.txt
-  teshsuite/xbt/parmap_test/CMakeLists.txt
 
   tools/CMakeLists.txt
   tools/graphicator/CMakeLists.txt
index 772a7c6..4f5d25d 100644 (file)
@@ -153,9 +153,6 @@ IF(NOT enable_memcheck)
 
   ### XBT ###
   # BEGIN TESH TESTS
-  ADD_TESH(tesh-xbt-log-large                    --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/log_large --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/log_large log_large_test.tesh)
-  ADD_TESH(tesh-xbt-log-parallel                 --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/parallel_log --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/parallel_log parallel_log_crashtest.tesh)
-#  ADD_TESH(tesh-xbt-mallocator                  --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/mallocator --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/mallocator mallocator.tesh)
   IF(HAVE_MMALLOC)
     IF(${ARCH_32_BITS})
       ADD_TESH(tesh-xbt-mmalloc-32               --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/mmalloc --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/mmalloc mmalloc_32.tesh)
@@ -163,17 +160,13 @@ IF(NOT enable_memcheck)
       ADD_TESH(tesh-xbt-mmalloc-64               --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/mmalloc --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/mmalloc mmalloc_64.tesh)
     ENDIF()
   ENDIF()
-  ADD_TESH(tesh-xbt-parmap                       --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/parmap_test --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/parmap_test parmap_test.tesh)
   IF(enable_debug)
     ADD_TESH(tesh-xbt-log                          --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/log_usage --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/log_usage log_usage.tesh)
   ELSE()
     ADD_TESH(tesh-xbt-log                          --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/log_usage --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/log_usage log_usage_ndebug.tesh)
   ENDIF()
-  ADD_TESH(tesh-xbt-heap                         --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/heap_bench --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/heap_bench heap_bench.tesh)
-  #ADD_TESH(test-xbt-parmap                         --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/xbt/parmap_bench --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/xbt/parmap_bench parmap_bench.tesh)
   # END TESH TESTS
 
-
   ## INTERFACES ##
   ### MSG ###
   # BEGIN TESH TESTS
@@ -257,7 +250,6 @@ IF(NOT enable_memcheck)
   ADD_TESH_FACTORIES(s4u-basic "thread;ucontext;raw;boost" --setenv bindir=${CMAKE_BINARY_DIR}/examples/s4u/basic --cd ${CMAKE_HOME_DIRECTORY}/examples/s4u/basic s4u_basic.tesh)
   ADD_TESH_FACTORIES(s4u-io "thread;ucontext;raw;boost"    --setenv bindir=${CMAKE_BINARY_DIR}/examples/s4u/io --cd ${CMAKE_HOME_DIRECTORY}/examples/s4u/io s4u_io.tesh)
 
-
   ### SIMDAG ###
   # BEGIN TESH TESTS
   # these tests need the assertion mechanism
@@ -307,9 +299,7 @@ IF(NOT enable_memcheck)
     # BEGIN TESH TESTS
     # smpi examples
     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-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
     ADD_TESH_FACTORIES(tesh-smpi-broken          "thread"              --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/pingpong --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/pingpong broken_hostfiles.tesh)
@@ -317,11 +307,7 @@ IF(NOT enable_memcheck)
     FOREACH (GATHER_COLL default ompi mpich ompi_basic_linear ompi_linear_sync ompi_binomial mvapich2 mvapich2_two_level impi)
       ADD_TESH(tesh-smpi-gather-coll-${GATHER_COLL} --cfg smpi/gather:${GATHER_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/gather --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/gather gather_coll.tesh)
     ENDFOREACH()
-    FOREACH (ALLGATHER_COLL default  2dmesh 3dmesh bruck GB loosely_lr
-                            NTSLR NTSLR_NB pair rdb  rhv ring SMP_NTS
-                            smp_simple spreading_simple ompi mpich ompi_neighborexchange mvapich2 mvapich2_smp impi)
-      ADD_TESH(tesh-smpi-allgather-coll-${ALLGATHER_COLL} --cfg smpi/allgather:${ALLGATHER_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/allgather --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgather allgather_coll.tesh)
-    ENDFOREACH()
+    
     FOREACH (ALLGATHERV_COLL default GB pair ring ompi mpich ompi_neighborexchange ompi_bruck mpich_rdb mpich_ring mvapich2 impi)
       ADD_TESH(tesh-smpi-allgatherv-coll-${ALLGATHERV_COLL} --cfg smpi/allgatherv:${ALLGATHERV_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/allgatherv --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/allgatherv allgatherv_coll.tesh)
     ENDFOREACH()
@@ -345,11 +331,7 @@ IF(NOT enable_memcheck)
                             ring_mpi_barrier ring_one_barrier bruck ompi mpich mvapich2 ompi_basic_linear impi)
       ADD_TESH(tesh-smpi-alltoallv-coll-${ALLTOALLV_COLL} --cfg smpi/alltoallv:${ALLTOALLV_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/alltoallv --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/alltoallv alltoallv_coll.tesh)
     ENDFOREACH()
-    FOREACH (BCAST_COLL default arrival_pattern_aware arrival_pattern_aware_wait arrival_scatter
-                        binomial_tree flattree flattree_pipeline NTSB NTSL NTSL_Isend scatter_LR_allgather
-                        scatter_rdb_allgather SMP_binary SMP_binomial SMP_linear ompi mpich ompi_split_bintree ompi_pipeline mvapich2 mvapich2_intra_node mvapich2_knomial_intra_node impi)
-      ADD_TESH(tesh-smpi-bcast-coll-${BCAST_COLL} --cfg smpi/bcast:${BCAST_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/bcast --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/bcast bcast_coll.tesh)
-    ENDFOREACH()
+   
     FOREACH (REDUCE_COLL default arrival_pattern_aware binomial flat_tree NTSL scatter_gather ompi mpich ompi_chain ompi_binary ompi_basic_linear ompi_binomial ompi_in_order_binary mvapich2 mvapich2_knomial mvapich2_two_level impi rab)
       ADD_TESH(tesh-smpi-reduce-coll-${REDUCE_COLL} --cfg smpi/reduce:${REDUCE_COLL} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/smpi/reduce --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/reduce reduce_coll.tesh)
     ENDFOREACH()
@@ -425,9 +407,7 @@ IF(NOT enable_memcheck)
   ### LUA ###
   # BEGIN TESH TESTS
   IF(HAVE_LUA)
-    # Tests testing simulation from C but using lua for platform files. Executed
-    # like this
-    #
+    # Tests testing simulation from C but using lua for platform files. Executed like this
     # ~$ ./masterslave platform.lua deploy.lua
     ADD_TESH(lua-platform-masterslave                --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/lua --cd ${CMAKE_BINARY_DIR}/examples/lua ${CMAKE_HOME_DIRECTORY}/teshsuite/lua/lua_platforms.tesh)
     SET_TESTS_PROPERTIES(lua-platform-masterslave    PROPERTIES ENVIRONMENT "LUA_CPATH=${CMAKE_BINARY_DIR}/examples/lua/?.so")
@@ -466,7 +446,6 @@ IF(NOT enable_memcheck)
   ENDIF()
 ENDIF()
 
-
   ## OTHER ##
 ADD_TEST(testall                                 ${CMAKE_BINARY_DIR}/testall)