Gabriel Corona [Tue, 2 Dec 2014 13:02:26 +0000 (14:02 +0100)]
[mc] Remove useless header #includes
Gabriel Corona [Tue, 2 Dec 2014 09:41:38 +0000 (10:41 +0100)]
[mc] Modularise header files for MC
This is a preparation step for the upcoming refactorisation of the MC
code in order to MC an external process.
Gabriel Corona [Tue, 2 Dec 2014 09:00:28 +0000 (10:00 +0100)]
[mc] Define a type for MC object information flags
Gabriel Corona [Mon, 1 Dec 2014 14:31:29 +0000 (15:31 +0100)]
[mc] Remove MC_ignore_global_variable() calls
- compared_pointer which does not exist;
- smpi_current_rank does not exist;
- maestro_stack_start and mastro_stack_end doe not need to be ignored.
Gabriel Corona [Mon, 1 Dec 2014 12:47:04 +0000 (13:47 +0100)]
[mc] Enable MC specific behaviour in replay mode
Gabriel Corona [Mon, 1 Dec 2014 13:01:43 +0000 (14:01 +0100)]
Revert "[mc] Enable MC specific behaviour in replay mode"
This reverts commit
33eca433c4f055cdfcc55e46d125f8708e1848c7.
Build is broken.
Gabriel Corona [Mon, 1 Dec 2014 12:47:04 +0000 (13:47 +0100)]
[mc] Enable MC specific behaviour in replay mode
Gabriel Corona [Mon, 1 Dec 2014 12:17:59 +0000 (13:17 +0100)]
[mc] Remove useless condition check
Gabriel Corona [Mon, 1 Dec 2014 11:33:16 +0000 (12:33 +0100)]
[mc] Only enable the umpire test for MC builds
Gabriel Corona [Thu, 27 Nov 2014 10:25:22 +0000 (11:25 +0100)]
Use pthread mutex instead of semaphore in mm
Gabriel Corona [Mon, 1 Dec 2014 11:16:45 +0000 (12:16 +0100)]
Fix dist
Gabriel Corona [Fri, 28 Nov 2014 13:38:31 +0000 (14:38 +0100)]
s/formated/formatted/
Gabriel Corona [Thu, 30 Oct 2014 13:39:17 +0000 (14:39 +0100)]
[mc] Initial support MC record/replay
The idea is to record an execution path in MC mode inorder to be able
to replay it outside of the MC (event with a non-MC build). Some very
basic (an unobtrusive) MC code is compiled even when MC is disabled.
Martin Quinson [Sat, 29 Nov 2014 13:29:31 +0000 (14:29 +0100)]
and now, fix the java teshsuite, re-sorry
I shouldnt try to hack on simgrid at week-ends :-(
Martin Quinson [Sat, 29 Nov 2014 13:03:13 +0000 (14:03 +0100)]
fix the build of java bundles, sorry
Martin Quinson [Sat, 29 Nov 2014 12:31:19 +0000 (13:31 +0100)]
Dont produce that pdf output that we dont use
Martin Quinson [Sat, 29 Nov 2014 10:56:42 +0000 (11:56 +0100)]
reindent and improve displayed message
Martin Quinson [Sat, 29 Nov 2014 10:53:58 +0000 (11:53 +0100)]
put together the java-based tests
Augustin Degomme [Fri, 28 Nov 2014 17:04:29 +0000 (18:04 +0100)]
move smpi bandwidth and latency factors out of the ifdef HAVE_SMPI. SMPI and IB network models can be used without using SMPI
Augustin Degomme [Fri, 28 Nov 2014 09:29:01 +0000 (10:29 +0100)]
Remove warnings in vm
Augustin Degomme [Fri, 28 Nov 2014 09:20:33 +0000 (10:20 +0100)]
Fix dist
Augustin Degomme [Tue, 25 Nov 2014 12:16:19 +0000 (13:16 +0100)]
remove potential bug / clang warning
size_t being undefined, the comparison < 0 was never true
Takahiro Hirofuchi [Thu, 27 Nov 2014 11:24:07 +0000 (20:24 +0900)]
support timeout of migration
Fixme: The default timeout value is hard-coded. Modify it and compile
the code if necessary.
Takahiro Hirofuchi [Thu, 27 Nov 2014 11:14:17 +0000 (20:14 +0900)]
fix indent in migration code
Takahiro Hirofuchi [Thu, 27 Nov 2014 11:10:55 +0000 (20:10 +0900)]
remove unnecessary comment out
Takahiro Hirofuchi [Thu, 27 Nov 2014 10:27:48 +0000 (19:27 +0900)]
remove the unnecessary vm object in migration
Takahiro Hirofuchi [Thu, 27 Nov 2014 08:55:02 +0000 (17:55 +0900)]
remove unused code in migration
Takahiro Hirofuchi [Thu, 27 Nov 2014 06:49:41 +0000 (15:49 +0900)]
remove trailing space in the migration code
Takahiro Hirofuchi [Thu, 27 Nov 2014 06:28:34 +0000 (15:28 +0900)]
remove unused migration code for CPU overheads
This commit should not affect anything.
Gabriel Corona [Mon, 24 Nov 2014 15:03:10 +0000 (16:03 +0100)]
[mc] Test if the stack-cleaner has any effect
In order to test this:
* we compile the same test program with and without the stack cleaner
(`-fstack-cleaner`, `-fno-stack-cleaner`);
* in this program, we move random bytes in the stack;
* we expect the stack-cleaner to zero them out.
This test in only used if the configure stack-cleaner is detected to
support the `-fstack-cleaner` CLI option (it is the stack-cleaner
compiler wrapper).
Gabriel Corona [Mon, 24 Nov 2014 14:33:47 +0000 (15:33 +0100)]
[mc] Disable/enable the stack-cleaner from a CLI argument (-f[no-]stack-cleaner)
Gabriel Corona [Mon, 24 Nov 2014 12:19:14 +0000 (13:19 +0100)]
[mc] Fix the stack cleaner
The condition was broken and the %rsp limit was too high.
Gabriel Corona [Mon, 24 Nov 2014 09:19:56 +0000 (10:19 +0100)]
[mc] Fix umpire tests
Gabriel Corona [Fri, 21 Nov 2014 07:56:14 +0000 (08:56 +0100)]
Merge branch 'xp'
Gabriel Corona [Fri, 21 Nov 2014 07:55:38 +0000 (08:55 +0100)]
Revert "Temporarily disable an option"
Back to normal.
gabriel corona [Thu, 20 Nov 2014 15:06:21 +0000 (16:06 +0100)]
Temporarily disable an option
The option somehow changes the results in the MC from previous
experiments. It is disabled temporarily in this commit in order to be
able to reproduce those results with the new commits.
Gabriel Corona [Fri, 7 Nov 2014 15:17:18 +0000 (16:17 +0100)]
Infrastructure for statically defined tracepoints
3 modes are supported on compilation:
* normal (no SDT);
* SDT (systemtap statically defined tracepoint);
* UST (lttng userspace static tracepoint, compatible with systemtap
if LTTNG_UST_HAVE_SDT_INTEGRATION).
Gabriel Corona [Tue, 18 Nov 2014 09:46:19 +0000 (10:46 +0100)]
[mc] Remove reference to DW_TAG_mutable_type:
Is was in a DWARFv3 draft but was removed from the final version: it
was removed from libdw which breaks compilation.
Martin Quinson [Tue, 18 Nov 2014 08:44:34 +0000 (09:44 +0100)]
typo -= 2
degomme [Tue, 18 Nov 2014 07:00:13 +0000 (08:00 +0100)]
protect these calls to smpi_datatype_size as they are not always relevant
degomme [Mon, 17 Nov 2014 22:42:46 +0000 (23:42 +0100)]
Fix problem with unknown datatypes in replay/tracing.
When datatype was unknown to replay, it was replayed as MPI_BYTE.
This modification adds a parameter to encode_datatype, to tell tracing that the datatype size has to be taken into account in the count parameter
This results in the fact that a message of count*datatype_size being replayed as a message of (count*datatype_size)*sizeof(MPI_BYTE), which is the same.
This is not a perfect or elegant solution, but :
- it works.
- it handles manually created datatypes
- it doesn't break previously generated replay files
- it avoids testing each time 50 different datatypes (see encode_datatype function)
- the new parameter avoids doing strcmp with "-1" at each time, performance should not be too bad
degomme [Mon, 17 Nov 2014 22:24:32 +0000 (23:24 +0100)]
There should not be msg datatypes here
Gabriel Corona [Mon, 17 Nov 2014 14:34:34 +0000 (15:34 +0100)]
[mm] Disable HAVE_GNU_LD code in order to get rid of the junkarea
The HAVE_GNU_LD mode of mmalloc delegates in some cases to standard
malloc()/free() which are resolved with dlsym(). This cause some
bootstrap problems which are only resolved with the junkarea: the
junkarea is regularly broken when adding dependencies because the
junkarea is then too small.
By disabling the HAVE_GNU_LD path, we get rid of the junkarea hack.
Martin Quinson [Thu, 13 Nov 2014 21:01:35 +0000 (22:01 +0100)]
clean after augustin, as usual
Martin Quinson [Thu, 13 Nov 2014 20:59:09 +0000 (21:59 +0100)]
Remove the unmodified NAS examples as they are really useless nowadays
I'm still unsure of what to do with the modified ones. I vote for
removing them if we have enough examples already.
Gabriel Corona [Thu, 13 Nov 2014 15:09:57 +0000 (16:09 +0100)]
Remove warning about uninitialized variable
Gabriel Corona [Thu, 13 Nov 2014 12:10:59 +0000 (13:10 +0100)]
Don't use xbt_os_time() when not needed
Gabriel Corona [Thu, 13 Nov 2014 11:03:11 +0000 (12:03 +0100)]
Fix small leak in NetworkIBModel::NetworkIBMode()
Gabriel Corona [Thu, 13 Nov 2014 09:47:20 +0000 (10:47 +0100)]
[mc] Disable timer in MC
Timers break state comparison.
Gabriel Corona [Fri, 7 Nov 2014 13:29:06 +0000 (14:29 +0100)]
[mc] Fix distcheck
Gabriel Corona [Fri, 7 Nov 2014 12:46:51 +0000 (13:46 +0100)]
[mc] Add useless parends to remove WTF warning-which-is-an-error
Augustin Degomme [Fri, 7 Nov 2014 10:46:13 +0000 (11:46 +0100)]
Simplify use of dict for smpi attr handling.
Switch from char keys to direct int keys, as in MPI, because we can, actually (with dict_ext functions)
Augustin Degomme [Fri, 7 Nov 2014 09:11:51 +0000 (10:11 +0100)]
replay_multiple should really work with out of build tests, now
Gabriel Corona [Fri, 7 Nov 2014 10:30:50 +0000 (11:30 +0100)]
[mc] Don't fork another process in the hop spot, MC_get_current()
Augustin Degomme [Thu, 6 Nov 2014 16:24:50 +0000 (17:24 +0100)]
use the manually privatized version of this algorithm only when needed.
Augustin Degomme [Thu, 6 Nov 2014 15:08:28 +0000 (16:08 +0100)]
add mpi_info_* support to fortran, and activate relevant tests
Gabriel Corona [Thu, 6 Nov 2014 13:14:31 +0000 (14:14 +0100)]
[mc] Fix the stack-cleaner
* '1 => tempfile' does not work on some versions of Ruby;
* make sure the system() arg is not passed to the shell.
Gabriel Corona [Thu, 6 Nov 2014 11:49:45 +0000 (12:49 +0100)]
[mc] Add MC_dump_stacks
Augustin Degomme [Thu, 6 Nov 2014 10:15:25 +0000 (11:15 +0100)]
forgot copyright info at some point ... shame
Augustin Degomme [Thu, 6 Nov 2014 10:07:42 +0000 (11:07 +0100)]
uncomment some calls to free
Augustin Degomme [Thu, 6 Nov 2014 10:07:01 +0000 (11:07 +0100)]
Add mpi_info support for rma calls
Augustin Degomme [Wed, 5 Nov 2014 12:02:46 +0000 (13:02 +0100)]
this test should now work with out-of-source builds
Augustin Degomme [Tue, 4 Nov 2014 14:07:12 +0000 (15:07 +0100)]
replace xbt_dynar_member by xbt_dynar_search_or_negative in this test.
There is a weird bug with xbt_dynar_member on some systems.
When an exception is raised, backtracking mechanism of libc6 can cause segfaults (and valgrind complains quite a lot, even on systems where it does not crash)
Is this related to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=735090 ?
example obtained stack
Invalid read of size 4
at 0x476E383: backtrace (backtrace.c:141)
by 0x43DC03B: xbt_backtrace_current (backtrace_linux.c:84)
by 0x43DB200: xbt_dynar_search (dynar.c:474)
by 0x43DB31F: xbt_dynar_member (dynar.c:511)
by 0x80494A3: test_launcher (host_on_off_processes.c:35)
by 0x43C889E: smx_ctx_sysv_wrapper (smx_context_sysv.c:187)
by 0x46B2BDA: makecontext (makecontext.S:87)
As functionality is the same, using the exception-less version of xbt_dynar_member should avoid the problem, until we find out more about it
Gabriel Corona [Tue, 4 Nov 2014 11:09:07 +0000 (12:09 +0100)]
[mc] Fix FD checkpoint/restore
Marion Guthmuller [Tue, 4 Nov 2014 10:49:32 +0000 (11:49 +0100)]
model-checker : comment debug printf
Marion Guthmuller [Tue, 4 Nov 2014 10:39:56 +0000 (11:39 +0100)]
model-checker : save and restore file descriptors
Augustin Degomme [Tue, 4 Nov 2014 09:20:04 +0000 (10:20 +0100)]
deactivate test that actually needs MPI_Type_get_envelope
Augustin Degomme [Tue, 4 Nov 2014 08:51:04 +0000 (09:51 +0100)]
cleanup after martin's cleanup
Martin Quinson [Mon, 3 Nov 2014 19:57:26 +0000 (20:57 +0100)]
clean after augustin ;)
Martin Quinson [Mon, 3 Nov 2014 19:56:26 +0000 (20:56 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Mon, 3 Nov 2014 19:54:19 +0000 (20:54 +0100)]
fix the tesh of one last command
Thanks adsein for all your great work on these points.
Augustin Degomme [Mon, 3 Nov 2014 16:48:02 +0000 (17:48 +0100)]
changelog update
Augustin Degomme [Mon, 3 Nov 2014 16:47:06 +0000 (17:47 +0100)]
Add preliminary support for MPI_Pack, MPI_Pack_size, and MPI_Unpack.
Activate tests for these functions. Somes cases with too complex imbricated datatypes are not supported (yet).
Augustin Degomme [Mon, 3 Nov 2014 14:37:58 +0000 (15:37 +0100)]
fix compilation without mpich3 testsuite
Augustin Degomme [Mon, 3 Nov 2014 14:13:40 +0000 (15:13 +0100)]
update gitignore and changelog
Martin Quinson [Mon, 3 Nov 2014 15:26:01 +0000 (16:26 +0100)]
revalidate yet another tesh output
I also changed the outputs done by the program to ease the life of tesh.
Martin Quinson [Mon, 3 Nov 2014 14:03:56 +0000 (15:03 +0100)]
revalidate another tesh file
Martin Quinson [Mon, 3 Nov 2014 13:38:15 +0000 (14:38 +0100)]
revalidate a tesh output
Augustin Degomme [Mon, 3 Nov 2014 13:05:39 +0000 (14:05 +0100)]
Add mpich3 tests for MPI_Info calls.
As expected, the get_nthkey does not behave as expected, and it won't.
Augustin Degomme [Mon, 3 Nov 2014 13:04:13 +0000 (14:04 +0100)]
Add MPI_Info_* support.
This adds MPI_Info_create, MPI_Info_free, MPI_Info_get, MPI_Info_dup, MPI_Info_delete, MPI_Info_get_nkeys, MPI_Info_get_nthkey, MPI_Info_get_valuelen functions.
This is just basically a xbt dict wrapper.
We may have issues with the get_nthkey, as the xbt dict does not really keep the order.. but this mpi call is hum ... stupid? aniway.
Gabriel Corona [Mon, 3 Nov 2014 12:36:21 +0000 (13:36 +0100)]
[mc] Fix the previous stack-cleaning optimisation
Gabriel Corona [Mon, 3 Nov 2014 12:04:18 +0000 (13:04 +0100)]
[mc] Do nto clean the main stack
We only need to clean the stacks of the application processes.
Otherwise, we spend a *lot* of time cleaniong the stack in the MC code
which slows SimGridMC a lot and is useless anyway.
The way we check if we need to clean the stack is currently quite
haskish and could be improved.
Gabriel Corona [Tue, 7 Oct 2014 09:26:45 +0000 (11:26 +0200)]
[mc] Add stack-cleaning compiler wrappers
This compiler wrappers clear each satck frame before using it in order
to avoid issues with unitialized variables in SimGridMC state
comparison.
Compiling with those compiler is much slower.
Martin Quinson [Mon, 3 Nov 2014 00:45:55 +0000 (01:45 +0100)]
Remove some most simcall HEADERs
Martin Quinson [Sun, 2 Nov 2014 23:42:58 +0000 (00:42 +0100)]
[popping] allow to omit the handler
simcalls handlers are good to get extra arguments from the simcall
(such as the issuer) or to check the parameters, but when there is no
such thing to do, they just load the picture for nothing.
Martin Quinson [Sun, 2 Nov 2014 23:05:23 +0000 (00:05 +0100)]
document my recent changes in simix
Martin Quinson [Sun, 2 Nov 2014 22:58:33 +0000 (23:58 +0100)]
rename smx_action_t to smx_synchro_t
This is an old idea, that I want to implement since at least 3 years.
It removes an ambiguity with surf_action_t, and makes it explicit that
these things are a way to synchronize the processes with their
environment.
Martin Quinson [Sun, 2 Nov 2014 17:57:44 +0000 (18:57 +0100)]
better handling of blocking simcalls in the generated popping
Blocking simcalls were marked as simcalls returning void. Being
explicit helps in that obscure part of the code.
Martin Quinson [Sun, 2 Nov 2014 01:34:04 +0000 (02:34 +0100)]
some more cosmetics in the popping generator
Martin Quinson [Sun, 2 Nov 2014 01:23:31 +0000 (02:23 +0100)]
Generate automatically the simcall_HANDLER_* prototypes
- Writing this code manually was burdensome
- This allows to check that the definition in simcall.in actually
match the handler prototype (safer as we are casting wildly)
- This allows to detect (and destroy) some now unused simcalls
Martin Quinson [Sun, 2 Nov 2014 00:33:54 +0000 (01:33 +0100)]
kill dead code
Martin Quinson [Sun, 2 Nov 2014 00:32:06 +0000 (01:32 +0100)]
[popping] cosmetics in doc and generator
Martin Quinson [Sun, 2 Nov 2014 00:18:26 +0000 (01:18 +0100)]
rename all SIMIX_pre_* to simcall_HANDLER_*
This is consistant with simcall_BODY_*, and more explicit
Martin Quinson [Sun, 2 Nov 2014 00:03:04 +0000 (01:03 +0100)]
Rename smx_user to libsmx (to mimick libc/smx)
Martin Quinson [Sat, 1 Nov 2014 23:39:08 +0000 (00:39 +0100)]
finish the s/smurf/popping/ renaming
Actually, that strange dance is called Popping in English and Smurf
only in French :)
Martin Quinson [Sat, 1 Nov 2014 23:30:34 +0000 (00:30 +0100)]
improve a bit the documentation of popping, and align code with doc
Martin Quinson [Sat, 1 Nov 2014 23:11:00 +0000 (00:11 +0100)]
make smx_popping_bodies.c parsable by eclipse (kinda)
Martin Quinson [Sat, 1 Nov 2014 23:02:41 +0000 (00:02 +0100)]
cosmetics in the popping generator
Martin Quinson [Sat, 1 Nov 2014 22:57:30 +0000 (23:57 +0100)]
typo
Martin Quinson [Sat, 1 Nov 2014 22:37:46 +0000 (23:37 +0100)]
kill dead code