Gabriel Corona [Fri, 4 Jul 2014 11:22:00 +0000 (13:22 +0200)]
[mc] Fix bad parameter passed in mc_diff
In the following calls:
compare_heap_area_with_type(state,
area1, area2,
area1_to_compare, area2_to_compare,
snapshot1, snapshot2,
previous, type, size, check_ignore,
pointer_level);
compare_heap_area_without_type(state,
area1, area2,
area1_to_compare, area2_to_compare,
snapshot1, snapshot2,
previous, size, check_ignore);
areaX and real_areaX_to_compare do not point the same data in different
address spaces in some cases.
Sometimes real_areaX_to_compare is adjusted to point to the beginning
of the block or fragment:
area1_to_compare = addr_block1;
// or
area1_to_compare = (char *) addr_frag1 + offset1;
// (when offset1==0)
but areaX is not adjusted accordingly and still point to the original
data: in the called compare_heap_area_with[out]_type(), the two values
are inconsistent.
Moreover in some cases, the type does not correspond:
* areaX_to_compareX is the beginning of the fragment ;
* type is the type of areaX, not the type of the fragment.
Gabriel Corona [Mon, 7 Jul 2014 08:41:29 +0000 (10:41 +0200)]
[mc] Fix lookup of malloc fragment type
In some cases, the type was looked up in the current heapinfo and not
in the snapshot one:
* in some cases this is not an issue as state->heapinfo2 is currently
the same as the current heapinfo but this solution is more robust;
* if we were supposed to look it from state->heapinfo1 this is wrong.
Gabriel Corona [Fri, 13 Jun 2014 12:07:46 +0000 (14:07 +0200)]
[mc] In MC_ignore, keep the zeroed data out of the main snapshot
The previous implementation was zeroing out the snapshot data
* so that it will be automatically ignored by the state comparator;
* but not for the first snapshot in order to be able to backtrack
to the initial state;
In preparation for the per-page snapshoting code, we
1. zero out on the main memory;
2. keep the zero-ed bytes out of the main snapshot regions;
3. restore the zero-ed bytes.
This way the state comparison code and the per-page snapshoting code
do not have to worry about this. Moreover by normalizing, the
"ignored" bytes, we increase the possibility of sharing memory pages
in per-page snapshots.
Gabriel Corona [Thu, 5 Jun 2014 17:24:38 +0000 (19:24 +0200)]
Remove comment which has not been accurate for a long long time
Marion Guthmuller [Wed, 4 Jun 2014 15:15:21 +0000 (17:15 +0200)]
model-checker : use new variable _sg_mc_liveness instead of _sg_mc_property_file
Marion Guthmuller [Wed, 4 Jun 2014 15:13:23 +0000 (17:13 +0200)]
model-checker : remove useless debug message and add another one
Marion Guthmuller [Wed, 4 Jun 2014 15:08:47 +0000 (17:08 +0200)]
model-checker : compare the pid of enabled processes before memory introspection
Marion Guthmuller [Wed, 4 Jun 2014 08:35:10 +0000 (10:35 +0200)]
model-checker : fix backtracking with comm determinism verification
Marion Guthmuller [Tue, 3 Jun 2014 17:00:53 +0000 (19:00 +0200)]
model-checker : comment erroneous ignore (not completely sure ...)
Marion Guthmuller [Tue, 3 Jun 2014 16:14:09 +0000 (18:14 +0200)]
model-checker : use the right heap
Marion Guthmuller [Tue, 3 Jun 2014 16:13:18 +0000 (18:13 +0200)]
model-checker : reword debug message
Marion Guthmuller [Tue, 3 Jun 2014 16:10:33 +0000 (18:10 +0200)]
model-checker : mc_dpor.c -> mc_safety.c
Marion Guthmuller [Tue, 3 Jun 2014 15:45:43 +0000 (17:45 +0200)]
model-checker : remove useless ignore
Marion Guthmuller [Tue, 3 Jun 2014 08:42:48 +0000 (10:42 +0200)]
model-checker : new tesh examples about communications determinism verification
Marion Guthmuller [Fri, 30 May 2014 21:51:41 +0000 (23:51 +0200)]
model-checker : fix comm determinism detection mechanisms
Marion Guthmuller [Fri, 30 May 2014 21:30:34 +0000 (23:30 +0200)]
model-checker : forget file
Marion Guthmuller [Fri, 30 May 2014 21:28:56 +0000 (23:28 +0200)]
model-checker : cleanups, refactoring and apply indent script
Marion Guthmuller [Fri, 30 May 2014 10:04:10 +0000 (12:04 +0200)]
model-checker : cosmetics in log message
Marion Guthmuller [Fri, 30 May 2014 07:37:44 +0000 (09:37 +0200)]
model-checker : improve error message
Gabriel Corona [Mon, 26 May 2014 10:12:39 +0000 (12:12 +0200)]
[mc] Temporary fix for smpi_process_finalize leading to graph explosion in MC
Gabriel Corona [Mon, 26 May 2014 10:05:12 +0000 (12:05 +0200)]
Merge branch 'master' into mc
Stéphane Castelli [Mon, 26 May 2014 09:42:17 +0000 (11:42 +0200)]
Fix a compilation error regarding logging and strings in fat trees
Stéphane Castelli [Mon, 26 May 2014 08:55:34 +0000 (10:55 +0200)]
Lots of bugfixes for the fat trees, it should at least not crash when using it
Stéphane Castelli [Thu, 22 May 2014 14:53:21 +0000 (16:53 +0200)]
small cosmetics to AsClusterFatTree::generateDotFile()
Stéphane Castelli [Thu, 22 May 2014 12:36:10 +0000 (14:36 +0200)]
Fix some bugs in fat trees
Martin Quinson [Sat, 24 May 2014 20:38:15 +0000 (22:38 +0200)]
make the xbt_os_time module public
Martin Quinson [Sat, 24 May 2014 20:13:27 +0000 (22:13 +0200)]
update the comments of that file
suter [Fri, 23 May 2014 18:34:01 +0000 (20:34 +0200)]
listing new files
suter [Fri, 23 May 2014 18:27:50 +0000 (20:27 +0200)]
start testing remote I/Os
suter [Fri, 23 May 2014 18:03:57 +0000 (20:03 +0200)]
leak--
suter [Fri, 23 May 2014 17:47:49 +0000 (19:47 +0200)]
allow several hosts to open the same file simultaneously
suter [Fri, 23 May 2014 10:44:54 +0000 (12:44 +0200)]
Throw an exception only when it's really not implemented
Arnaud Giersch [Fri, 23 May 2014 09:46:07 +0000 (11:46 +0200)]
Move unachieved release goals from ChangeLog to TODO file.
Arnaud Giersch [Thu, 22 May 2014 09:40:23 +0000 (11:40 +0200)]
Cosmetics: keep alphabetical order.
Paul Bédaride [Thu, 22 May 2014 15:23:43 +0000 (17:23 +0200)]
Update doc for surf++
Gabriel Corona [Thu, 22 May 2014 12:09:16 +0000 (14:09 +0200)]
Revert "[mmalloc] Use mremap to expand heaps (heap collision prevention)"
This is really how is should be handled. However, this does not work
if someone has split the VMA in parts: this is done when creating
stacks on the heap without MC, mprotect() is used to create a guard
page for the stack.
This reverts commit
ba3185d8a4f0a56804d3b1ff24e596096f06a37c.
Gabriel Corona [Thu, 22 May 2014 11:45:55 +0000 (13:45 +0200)]
Documentation for stack size, stack guard and context factory
Arnaud Giersch [Wed, 21 May 2014 13:22:16 +0000 (15:22 +0200)]
Add some words about %e fore spaces in logs.
Martin Quinson [Wed, 21 May 2014 08:32:08 +0000 (10:32 +0200)]
When the parameter parser is jammed, display the full parsed string
Martin Quinson [Wed, 21 May 2014 08:30:58 +0000 (10:30 +0200)]
add some doc about the trap I just felt into
Arnaud Giersch [Tue, 20 May 2014 16:00:35 +0000 (18:00 +0200)]
Free previously set process data.
Arnaud Giersch [Tue, 20 May 2014 15:26:27 +0000 (17:26 +0200)]
Free smpi_instances.
Arnaud Giersch [Tue, 20 May 2014 15:03:22 +0000 (17:03 +0200)]
Free powerPeak which is unused here.
Arnaud Giersch [Tue, 20 May 2014 14:02:10 +0000 (16:02 +0200)]
Some tests have different outputs when !HAVE_TRACING. Fix them.
Arnaud Giersch [Tue, 20 May 2014 13:14:29 +0000 (15:14 +0200)]
This field definitely has sense only when tracing is compiled in.
Arnaud Giersch [Tue, 20 May 2014 13:02:22 +0000 (15:02 +0200)]
Fix race condition.
Avoid to launch and cancel the task at the same time. It seems to work with
HAVE_TRACING, but fails without. In fact, the task cancelation happens before
the task starts to execute. As a workaround, add a small delay before firing
up the cancel.
Arnaud Giersch [Tue, 20 May 2014 08:07:14 +0000 (10:07 +0200)]
Skip simcall when HAVE_TRACING.
And try to keep the same visible behavior with and without tracing.
Arnaud Giersch [Tue, 20 May 2014 08:05:14 +0000 (10:05 +0200)]
Cosmetics: reuse already defined variable.
Arnaud Giersch [Mon, 19 May 2014 09:29:53 +0000 (11:29 +0200)]
task->counter is initialized only when HAVE_TRACING.
Use task pointer instead to compute the key.
Arnaud Giersch [Mon, 19 May 2014 08:17:01 +0000 (10:17 +0200)]
Disable tracing tests when !HAVE_TRACING.
Paul Bédaride [Mon, 19 May 2014 13:37:46 +0000 (15:37 +0200)]
Use boost::intrusive in CpuTi
Stéphane Castelli [Mon, 19 May 2014 08:51:59 +0000 (10:51 +0200)]
Fix a a wrong use of cmake, which makes linking fail when smpi is disabled
Martin Quinson [Sun, 18 May 2014 18:33:40 +0000 (20:33 +0200)]
further document the parmap mess. Next step should be refactoring/simplifying
Martin Quinson [Sun, 18 May 2014 17:02:27 +0000 (19:02 +0200)]
greatly improve the documentation of the parallel execution in simix
Martin Quinson [Sun, 18 May 2014 17:01:09 +0000 (19:01 +0200)]
previous version was initializing retval=0 and then testing retval!=MPI_ERR_REQUEST. This seems dubious to me
degomme [Fri, 16 May 2014 16:31:51 +0000 (18:31 +0200)]
move a declaration. Should fix compilation bug on MacOS X .
degomme [Fri, 16 May 2014 16:20:52 +0000 (18:20 +0200)]
Fix compil without tracing, which was broken multiple times ...
Warning : some tests are broken when tracing is disabled
Gabriel Corona [Fri, 16 May 2014 13:56:26 +0000 (15:56 +0200)]
Merge branch 'mc_without_ksm' into mc
Conflicts:
src/mc/mc_dpor.c
src/mc/mc_global.c
src/mc/mc_memory.c
Paul Bédaride [Fri, 16 May 2014 13:48:07 +0000 (15:48 +0200)]
Revert "Replace xbt_heap by boost::heap::fibonacci_heap"
This reverts commit
fb588fbb8c119a8f04e6d2cb15b663257786ba70.
Gabriel Corona [Fri, 16 May 2014 13:45:16 +0000 (15:45 +0200)]
[mc] Avoid memsetting twice
Paul Bédaride [Fri, 16 May 2014 12:20:54 +0000 (14:20 +0200)]
Replace xbt_heap by boost::heap::fibonacci_heap
Paul Bédaride [Mon, 12 May 2014 11:39:35 +0000 (13:39 +0200)]
Remove unnecessary casts
Paul Bédaride [Mon, 12 May 2014 09:00:41 +0000 (11:00 +0200)]
Unify models apis
Gabriel Corona [Fri, 16 May 2014 09:54:38 +0000 (11:54 +0200)]
[mc] Use the actual heap size when testing if an address is in the heap (in mm_diff, linear_compare_heap)
Gabriel Corona [Fri, 16 May 2014 08:54:08 +0000 (10:54 +0200)]
[mc] Move mm_diff in mc/
mm_diff relies heavily on MC and is not relevant in the xbt/mmalloc
layer anymore. Moreover we probably want to merge it with mc_compare.
Gabriel Corona [Fri, 16 May 2014 08:19:59 +0000 (10:19 +0200)]
[mc] Use the actual heap size when testing if an address is in the heap in mm_diff
Gabriel Corona [Fri, 16 May 2014 07:53:46 +0000 (09:53 +0200)]
[mc] Use the actual heap size when testing if an address is in the heap in mc_compare
Gabriel Corona [Fri, 16 May 2014 07:42:55 +0000 (09:42 +0200)]
[mc] Comments/documentation of memory related code
Stéphane Castelli [Wed, 14 May 2014 15:49:44 +0000 (17:49 +0200)]
Fix a bug in SMPI that leads to a segfault when one of the request in MPI_StartAll is MPI_REQUEST_NULL
Stéphane Castelli [Wed, 14 May 2014 14:39:42 +0000 (16:39 +0200)]
Fat trees may actually be used
Stéphane Castelli [Tue, 13 May 2014 14:41:57 +0000 (16:41 +0200)]
Add a routing for fat trees
Augustin Degomme [Tue, 13 May 2014 18:56:10 +0000 (20:56 +0200)]
third time's the charm ?
Marion Guthmuller [Tue, 13 May 2014 16:18:36 +0000 (18:18 +0200)]
model-checker : handle waitany simcall
Gabriel Corona [Tue, 13 May 2014 13:23:13 +0000 (15:23 +0200)]
[mc] Rename raw_heap into mc_heap
Stéphane Castelli [Tue, 13 May 2014 12:56:59 +0000 (14:56 +0200)]
The tag cluster accepts the topology fat_tree
Stéphane Castelli [Tue, 13 May 2014 08:53:37 +0000 (10:53 +0200)]
Add a function returning an instance of fat tree
Gabriel Corona [Fri, 25 Apr 2014 08:05:10 +0000 (10:05 +0200)]
[mmalloc] Use mremap to expand heaps (heap collision prevention)
mremap() will fail instead of overwriting an existing memory mapping :
the first heap could silently overflow on the second one.
suter [Tue, 13 May 2014 07:24:58 +0000 (09:24 +0200)]
merge Fred and Henri description of the same stuff
Henri Casanova [Mon, 12 May 2014 19:30:55 +0000 (09:30 -1000)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Henri Casanova [Mon, 12 May 2014 19:30:23 +0000 (09:30 -1000)]
Added documentation of the --cfg="smpi/simulation_computation" feature of mpirun
Luka Stanisic [Mon, 12 May 2014 16:43:51 +0000 (18:43 +0200)]
updating ignore patterns-list should be complete now
suter [Mon, 12 May 2014 12:44:51 +0000 (14:44 +0200)]
document the smpi/simulation_computation option and list it in the
index (with the one on privatization too)
Marion Guthmuller [Mon, 12 May 2014 11:53:59 +0000 (13:53 +0200)]
model-checker : complete comm pattern only after a comm wait
Arnaud Giersch [Fri, 9 May 2014 13:01:42 +0000 (15:01 +0200)]
Set return value.
Arnaud Giersch [Fri, 9 May 2014 12:15:22 +0000 (14:15 +0200)]
Don't try to kill non-existing process (*process == NULL).
Arnaud Giersch [Fri, 9 May 2014 12:09:41 +0000 (14:09 +0200)]
Fix dead assignments.
That's when a value stored in a variable is never used.
Arnaud Giersch [Fri, 9 May 2014 11:11:38 +0000 (13:11 +0200)]
Add check for error.
Arnaud Giersch [Fri, 9 May 2014 11:10:53 +0000 (13:10 +0200)]
Fix warning about duplicate typedef.
Stéphane Castelli [Mon, 12 May 2014 07:07:35 +0000 (09:07 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Stéphane Castelli [Mon, 12 May 2014 07:06:55 +0000 (09:06 +0200)]
Fix use of wrong variable
Henri Casanova [Fri, 9 May 2014 01:17:37 +0000 (15:17 -1000)]
Added a --cfg="smpi/simulation_computation" to smpirun. The default
value is "yes", meaning that SMPI will benchmark computational parts
of the simulation application and simulate them using smpi_execute(), as
it's always been done in the past.
Disabling the simulation of computation is useful when smpirunning an "application"
that is in fact doing a "live replay" of another MPI app (e.g., ScalaTrace's replay tool, various on-line simulators that run an app at scale). In this case the computation due to the replay logic
should be be simulated by SMPI.
For the time being, for smpirunning such an "application", the approach is:
1. use --cfg="smpi/simulation_computation:no"
2. add calls to smpi_execute() in the "application"
Henri Casanova [Thu, 8 May 2014 20:12:11 +0000 (10:12 -1000)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Henri Casanova [Thu, 8 May 2014 20:10:44 +0000 (10:10 -1000)]
Rewrote smpi_sleep() and smpi_usleep() so that:
1. the code is not duplicated but shared in a static private function
2. sleeping is done via an actual simcall_process_sleep rather than a bogus computation
Augmented SMPI tracing to allow tracing of sleep events
suter [Thu, 8 May 2014 20:10:02 +0000 (22:10 +0200)]
forgot a comma ...
suter [Thu, 8 May 2014 19:36:00 +0000 (21:36 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot//simgrid/simgrid
suter [Thu, 8 May 2014 19:35:43 +0000 (21:35 +0200)]
add color for "test", not sure it's mandatory, but it won't hurt
Martin Quinson [Thu, 8 May 2014 10:41:38 +0000 (12:41 +0200)]
update the ignore patterns after the recent source reorganizations
Martin Quinson [Thu, 8 May 2014 08:44:11 +0000 (10:44 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Henri Casanova [Thu, 8 May 2014 03:09:38 +0000 (17:09 -1000)]
Modified smpi_sleep() so that it returns 0, instead of the number of seconds
it was passed in (not that people check that return value much, but...)
Henri Casanova [Thu, 8 May 2014 03:07:13 +0000 (17:07 -1000)]
Added a smpi_usleep function and usleep -> smpi_usleep macro