Gabriel Corona [Mon, 28 Sep 2015 14:19:26 +0000 (16:19 +0200)]
[mc] Bring back soft-dirty tracking from the dead 💀
We want to compare the different snapshoting options on the new
cross-process architecture.
Gabriel Corona [Tue, 29 Sep 2015 11:26:53 +0000 (13:26 +0200)]
[mc] Quick hack to display system memory information (optional)
Gabriel Corona [Mon, 28 Sep 2015 10:20:51 +0000 (12:20 +0200)]
[mc] Bring back KSM (MADV_MERGEABLE) support
For KSM support, we allocate the memory for the snapshot regions
directly with mmap() instead of using malloc(). This way we can safely
mark them as MERGEABLE without impacting the heap at all.
Another solution would be to use posix_memalign() (now that we are
using a full-featured malloc) to allocate page-aligned buffers and
remove MADV_UNMERGEABLE when deallocating.
Gabriel Corona [Thu, 1 Oct 2015 08:45:19 +0000 (10:45 +0200)]
[mc] Support for mmap-able snapthots
This will be used for KSM-friendly snapshots.
Martin Quinson [Fri, 2 Oct 2015 08:06:19 +0000 (10:06 +0200)]
[cmake] correctly quote the c:\ that windows requests
Martin Quinson [Fri, 2 Oct 2015 07:27:51 +0000 (09:27 +0200)]
Only try to load winpthread on windows
Previously, it was loaded in any case, and errors were ignored (in an
ineffective way leading to failures on non-windows).
Martin Quinson [Fri, 2 Oct 2015 06:21:34 +0000 (08:21 +0200)]
Revert "[windows] also take the static version of libpthread.dll"
It does not help anyway.
This reverts commit
ae2703f5cf2c00470b492092bb6188c38466b5b5.
Martin Quinson [Fri, 2 Oct 2015 06:21:24 +0000 (08:21 +0200)]
also include winpthread.dll in the jarfile
Martin Quinson [Fri, 2 Oct 2015 05:28:14 +0000 (07:28 +0200)]
[cmake] remove tests for which we don't use the result
Martin Quinson [Fri, 2 Oct 2015 05:23:57 +0000 (07:23 +0200)]
[cmake] cleanup: mv MakeJava.cmake Java.cmake
Martin Quinson [Thu, 1 Oct 2015 20:18:49 +0000 (22:18 +0200)]
[windows] also take the static version of libpthread.dll
GOSH, this is ugly.
Martin Quinson [Thu, 1 Oct 2015 19:44:29 +0000 (21:44 +0200)]
don't cleanup java directory for now (debugging time)
Martin Quinson [Thu, 1 Oct 2015 19:41:32 +0000 (21:41 +0200)]
[windows] request mingw-gcc to put the content of libgcc_s_seh-1.dll statically in our libs
Martin Quinson [Thu, 1 Oct 2015 16:04:46 +0000 (18:04 +0200)]
ISP tests need more time to run. Increase timeout
Martin Quinson [Thu, 1 Oct 2015 15:47:22 +0000 (17:47 +0200)]
[appveyor] try to get the artifact name right
Previously I got:
Packaging artifacts...Pattern contains invalid characters.
Martin Quinson [Thu, 1 Oct 2015 15:23:28 +0000 (17:23 +0200)]
[appveyor] add the artefact that we want to distribute to the users
Martin Quinson [Thu, 1 Oct 2015 15:04:10 +0000 (17:04 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Thu, 1 Oct 2015 15:03:18 +0000 (17:03 +0200)]
fix a typo breaking windows
Martin Quinson [Thu, 1 Oct 2015 14:41:38 +0000 (16:41 +0200)]
[appveyor] disable absolutely all tests
Martin Quinson [Thu, 1 Oct 2015 14:40:42 +0000 (16:40 +0200)]
Revert "[windows] try to brutally comment any tests but the java ones"
It's not helping on appveyor. Tesh does not seem to be usable at all /o\
This reverts commit
4de16ce0c6eb15ff3040a857022539fbb81c95ca.
Gabriel Corona [Thu, 1 Oct 2015 13:50:40 +0000 (15:50 +0200)]
Fix unintialized variables
Martin Quinson [Thu, 1 Oct 2015 13:06:29 +0000 (15:06 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Thu, 1 Oct 2015 12:59:32 +0000 (14:59 +0200)]
increase the timeout to that test
Martin Quinson [Thu, 1 Oct 2015 12:51:27 +0000 (14:51 +0200)]
[windows] try to brutally comment any tests but the java ones
Gabriel Corona [Thu, 1 Oct 2015 12:43:08 +0000 (14:43 +0200)]
Hide more symbols
Gabriel Corona [Thu, 1 Oct 2015 12:40:18 +0000 (14:40 +0200)]
Hide more mc symbols
Some can't be hidden right new because they are used in the tests.
Gabriel Corona [Thu, 1 Oct 2015 07:27:57 +0000 (09:27 +0200)]
Detect/fix conflicting visibility and fix visibility wrt lua/java bindings
Gabriel Corona [Tue, 29 Sep 2015 14:09:19 +0000 (16:09 +0200)]
Mark some internal symbols as hidden on ELF in instr
Gabriel Corona [Tue, 29 Sep 2015 14:03:56 +0000 (16:03 +0200)]
[mc] Mark some internal symbols as hidden on ELF in mc
A lot of things are still not hidden because of the dreaded error:
error: ‘Foo’ declared with greater visibility than the type of its field ‘Foo::bar’ [-Werror=attributes]
Gabriel Corona [Tue, 29 Sep 2015 13:10:02 +0000 (15:10 +0200)]
Mark some internal symbols as hidden on ELF in msg
Gabriel Corona [Tue, 29 Sep 2015 13:05:22 +0000 (15:05 +0200)]
Mark some internal symbols as hidden on ELF in simdag
Gabriel Corona [Tue, 29 Sep 2015 12:59:13 +0000 (14:59 +0200)]
Mark some internal symbols as hidden on ELF in base
Gabriel Corona [Tue, 29 Sep 2015 12:55:07 +0000 (14:55 +0200)]
Mark some internal symbols as hidden on ELF in simix
Gabriel Corona [Tue, 29 Sep 2015 12:41:57 +0000 (14:41 +0200)]
Mark some internal symbols as hidden on ELF in smpi
Gabriel Corona [Tue, 29 Sep 2015 12:21:33 +0000 (14:21 +0200)]
Mark some internal symbols as hidden on ELF in surf
Gabriel Corona [Tue, 29 Sep 2015 11:57:13 +0000 (13:57 +0200)]
Mark some internal symbols as hidden on ELF in xbt
They are not exported and can avoid the GOT and PLT indirections.
Martin Quinson [Thu, 1 Oct 2015 02:09:13 +0000 (04:09 +0200)]
Giving up: don't test tesh on windows
Martin Quinson [Thu, 1 Oct 2015 02:07:07 +0000 (04:07 +0200)]
[tesh] centralize and rework the documentation
Martin Quinson [Thu, 1 Oct 2015 00:51:41 +0000 (02:51 +0200)]
[tesh] cleanups now that it works with IPC::Run
Martin Quinson [Thu, 1 Oct 2015 00:36:54 +0000 (02:36 +0200)]
[windows] use 'cmake -E echo' instead of 'echo'
Martin Quinson [Wed, 30 Sep 2015 20:14:26 +0000 (22:14 +0200)]
Fix 'make distcheck'. Again.
Martin Quinson [Wed, 30 Sep 2015 20:06:28 +0000 (22:06 +0200)]
[windows] use 'cmake -E remove_directory' instead of 'rm -rf'
It fails with the following error message on appveyor:
"C:/Program Files (x86)/Git/bin/rm.EXE": cannot unlink `temp_testdir_background/tmp_fich': Permission denied
Martin Quinson [Wed, 30 Sep 2015 20:02:21 +0000 (22:02 +0200)]
[windows] don't call tesh as a script as cmake fails to preserve the exec permission on this file
Martin Quinson [Wed, 30 Sep 2015 19:21:12 +0000 (21:21 +0200)]
[tesh] greatly normalize the self-tests
Things should remain unsurprizing when there is no need for a surprise
Martin Quinson [Wed, 30 Sep 2015 17:45:13 +0000 (19:45 +0200)]
fix a typo breaking a self tesh test
Martin Quinson [Wed, 30 Sep 2015 16:55:01 +0000 (18:55 +0200)]
kill set-signal.tesh, catch-signal.tesh already test the same
Martin Quinson [Wed, 30 Sep 2015 16:26:44 +0000 (18:26 +0200)]
[tesh] Write self-tests in perl (we may not have cc at hand)
Also, revive the setenv test and make it work (the forked environment
was not modified but only the command line rewriting mechanism)
Martin Quinson [Wed, 30 Sep 2015 14:10:36 +0000 (16:10 +0200)]
Add the Win32 bits of IPC::Run
Martin Quinson [Wed, 30 Sep 2015 14:08:07 +0000 (16:08 +0200)]
fix make distcheck
Martin Quinson [Wed, 30 Sep 2015 13:10:17 +0000 (15:10 +0200)]
Reimplement tesh with IPC::Run
Martin Quinson [Tue, 29 Sep 2015 22:44:16 +0000 (00:44 +0200)]
[tesh] move functions around to try to get them in the logical order
Martin Quinson [Tue, 29 Sep 2015 20:51:34 +0000 (22:51 +0200)]
[cmake] useless cleanups: better file names
Martin Quinson [Tue, 29 Sep 2015 20:47:05 +0000 (22:47 +0200)]
[cmake] kill GenerateDocWin
Martin Quinson [Tue, 29 Sep 2015 20:36:23 +0000 (22:36 +0200)]
[cmake] sort a bit how the documentation is generated
Martin Quinson [Tue, 29 Sep 2015 17:37:16 +0000 (19:37 +0200)]
cleanups in Java: call jar only once to add our content
Martin Quinson [Tue, 29 Sep 2015 13:26:38 +0000 (15:26 +0200)]
[tesh] instead of defining get_options() and then calling it only once, inline its content
Martin Quinson [Tue, 29 Sep 2015 13:16:29 +0000 (15:16 +0200)]
[tesh] simplifies the option processing
- Kill unused and ignored options
- Kill temporary variables when possible and actually speak Perl instead
Martin Quinson [Tue, 29 Sep 2015 13:15:06 +0000 (15:15 +0200)]
don't pass --log to tesh: the perl version ignores it anyway
Gabriel Corona [Tue, 29 Sep 2015 09:22:52 +0000 (11:22 +0200)]
[mc] Fix tesh file names in ctest testsuite
Gabriel Corona [Tue, 29 Sep 2015 09:21:43 +0000 (11:21 +0200)]
[tesh] Fix usage sting in update_tesh.pl
Gabriel Corona [Tue, 29 Sep 2015 09:26:07 +0000 (11:26 +0200)]
[tesh] Fix arguments in tesh file
Example:
$ tesh with_mutex_handling.tesh --cfg=model-check/reduction:none
Test suite from stdin
- remove the options from the tesh @ARGV before handling the .tesh
file;
- GetOptions() can't modify the locally-scoped (my) @ARGV, use the
global one instead.
Martin Quinson [Mon, 28 Sep 2015 09:31:31 +0000 (11:31 +0200)]
[tesh] sort things a bit and rename a function
Martin Quinson [Sun, 27 Sep 2015 17:09:30 +0000 (19:09 +0200)]
[tesh] don't clutter cd_cmd and setenv_cmd because they are used from GetOption::Long
Martin Quinson [Sun, 27 Sep 2015 16:54:02 +0000 (18:54 +0200)]
[tesh]Â kill dead code
This feature is not working, but it's not documented (nor used) either
Martin Quinson [Sun, 27 Sep 2015 16:49:30 +0000 (18:49 +0200)]
[tesh] run perltidy
Martin Quinson [Sun, 27 Sep 2015 16:16:43 +0000 (18:16 +0200)]
[tesh] reduce the uglyness of that code a bit
- Write "if (cond) {A} else {B}"
instead of "if (!cond) {B} else {A}"
or "unless(cond) {B}Â else {A}"
- Kill some dead code
- Other tiny cleanups
There still a lot to do to make it nice to read :(
Martin Quinson [Sun, 27 Sep 2015 16:12:02 +0000 (18:12 +0200)]
[tesh] simplify the way we read the teshfile
Martin Quinson [Sun, 27 Sep 2015 11:26:59 +0000 (13:26 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Sun, 27 Sep 2015 11:24:18 +0000 (13:24 +0200)]
Various cleanups in the generation of simgrid.jar
- Only generate a simgrid.jar (kill simgrid_full.jar), which may or
may not contain the native libs depending on the enable_lib_in_jar
cmake option.
- Simplify the dependencies by not using temp files and additional
dependencies but use add_custom_command(TARGET blah POST-BUILD ...)
Martin Quinson [Sat, 26 Sep 2015 19:43:44 +0000 (21:43 +0200)]
Remove everything related to the pipol compilation platform
This platform is long gone now
Frederic Suter [Fri, 25 Sep 2015 15:10:04 +0000 (17:10 +0200)]
Revert "you can overwrite part of a file without mofiying its size"
This reverts commit
1834c35134cafa950a91101cd69dcc64d14f062d.
Frederic Suter [Fri, 25 Sep 2015 14:24:01 +0000 (16:24 +0200)]
you can overwrite part of a file without mofiying its size
Frederic Suter [Fri, 25 Sep 2015 14:15:00 +0000 (16:15 +0200)]
tesh revalidation to account for file descriptor id display.
Frederic Suter [Fri, 25 Sep 2015 14:14:32 +0000 (16:14 +0200)]
change the way we identify opened files. The same process on the same
machine can open the same file several times (yes, yes, it can), which
wasn't supported correctly.
Now each host has a dynar of 1024 descriptor ids (integers). When
opening a file, a process gets (i.e., pops) an available id for that
host, that it releases (i.e., push back) on close.
MSG_file_dump now shows this id.
Frederic Suter [Fri, 25 Sep 2015 14:05:48 +0000 (16:05 +0200)]
be sure that we don't try to read bytes after the end of the file
Martin Quinson [Fri, 25 Sep 2015 07:09:44 +0000 (09:09 +0200)]
[tesh] kill some more unused variables
And use English for some other variables
Martin Quinson [Fri, 25 Sep 2015 06:58:42 +0000 (08:58 +0200)]
also unifies the native path between cmake and java on windows
Martin Quinson [Fri, 25 Sep 2015 05:28:29 +0000 (07:28 +0200)]
Try to unify the native lib location between cmake and java
Martin Quinson [Thu, 24 Sep 2015 23:10:56 +0000 (01:10 +0200)]
Be verbose about errors encountered
Martin Quinson [Thu, 24 Sep 2015 20:48:10 +0000 (22:48 +0200)]
try to please clang. No idea of why it fails on mac but works on linux...
Martin Quinson [Thu, 24 Sep 2015 20:23:26 +0000 (22:23 +0200)]
don't fail miserably when raising an exception after simulation shutdown
Fix #26
Martin Quinson [Thu, 24 Sep 2015 20:22:55 +0000 (22:22 +0200)]
cosmetics: Use a C++ syntax that I know :-3
Martin Quinson [Tue, 22 Sep 2015 19:30:53 +0000 (21:30 +0200)]
[tesh] kill unused variables
Martin Quinson [Tue, 22 Sep 2015 19:23:00 +0000 (21:23 +0200)]
[tesh] cleanup: don't start useless process instead of killing it right away
Martin Quinson [Tue, 22 Sep 2015 13:49:58 +0000 (15:49 +0200)]
[tesh] speak of SIGKILL in a portable manner (hopefully)
Martin Quinson [Tue, 22 Sep 2015 13:18:15 +0000 (15:18 +0200)]
[tesh] exec the killer process after fork to make it work on windows
fork() is only emulated on windows, using a thread of the current
process. So if we don't exec away the killer process, the tesh process
will not end before the timeout, leading to loooooong testing phases.
This script is still in a rather sorry state, more cleanups would be
welcome.
Martin Quinson [Tue, 22 Sep 2015 12:36:56 +0000 (14:36 +0200)]
[tesh]Â try to port to windows
Martin Quinson [Tue, 22 Sep 2015 11:40:21 +0000 (13:40 +0200)]
[appveyor] disable MSVC for now. mingw-w64 is almost there
Martin Quinson [Tue, 22 Sep 2015 11:10:33 +0000 (13:10 +0200)]
Mac OSX announces itself as 'darwin' in Perl
Martin Quinson [Tue, 22 Sep 2015 09:52:12 +0000 (11:52 +0200)]
[tesh] try to load a handy perl module for the windows port
This is just to check if it's installed on appveyor.
Martin Quinson [Tue, 22 Sep 2015 06:53:12 +0000 (08:53 +0200)]
[tesh] kill processes in a portable way
Martin Quinson [Tue, 22 Sep 2015 05:26:51 +0000 (07:26 +0200)]
[appveyor] don't install before running the tests
Martin Quinson [Tue, 22 Sep 2015 00:54:04 +0000 (02:54 +0200)]
avoid a name clash on windows
Martin Quinson [Tue, 22 Sep 2015 00:33:56 +0000 (02:33 +0200)]
[cmake] don't use path globbing: it breaks on windows
Martin Quinson [Mon, 21 Sep 2015 23:54:22 +0000 (01:54 +0200)]
Further simplify the full.jar generation (the hard portability way)
Don't run the jar at build time to ensure that the java searches the
libs where the cmake puts them. It was nice but it's hard to get that
script running on windows.
Instead, manually determine in both systems (java and cmake) where the
libs should be. Of course both definitions should match.
- Allows to remove the java_bundle.sh pimple (that breaks on windows)
- Users compiling simgrid will use the installed libs instead
- None of the solutions will work for users using a faulty jar
- Our testing infrastructure will catch the glitches:
Each system displays the libs location in the build logs.
Martin Quinson [Mon, 21 Sep 2015 23:19:12 +0000 (01:19 +0200)]
Greatly simplify the full jar generation
Martin Quinson [Mon, 21 Sep 2015 22:26:59 +0000 (00:26 +0200)]
that condition will not happen very often, for sure :)
Martin Quinson [Mon, 21 Sep 2015 22:08:47 +0000 (00:08 +0200)]
Don't trust the shebang to work [on windows]
Martin Quinson [Mon, 21 Sep 2015 22:07:43 +0000 (00:07 +0200)]
[appveyor] MSVC seems to freeze in 64 bits
Martin Quinson [Mon, 21 Sep 2015 21:57:06 +0000 (23:57 +0200)]
cosmetics: mv tools/cmake/Scripts tools/cmake/scripts