navarro [Wed, 9 May 2012 12:51:07 +0000 (14:51 +0200)]
Prepare network.c and cpu_cas01.c for net and cpu merge.
Samuel Lepetit [Wed, 9 May 2012 15:30:29 +0000 (17:30 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Samuel Lepetit [Wed, 9 May 2012 15:30:23 +0000 (17:30 +0200)]
Little mistake in MSG_task_set_name javadoc
Arnaud Giersch [Fri, 27 Apr 2012 13:31:55 +0000 (15:31 +0200)]
Use -DBL_MAX for MIN_KEY_VALUE.
Arnaud Giersch [Fri, 27 Apr 2012 13:13:12 +0000 (15:13 +0200)]
Typo.
unknown [Fri, 4 May 2012 15:32:36 +0000 (17:32 +0200)]
Add a real new ico ;)
Laurent Bobelin [Fri, 4 May 2012 14:22:26 +0000 (16:22 +0200)]
Added an ico as Pierre also wants this format.
navarro [Fri, 4 May 2012 14:00:27 +0000 (16:00 +0200)]
Add new icon for doc
unknown [Fri, 4 May 2012 14:55:19 +0000 (16:55 +0200)]
Update list of headers to install for nsis
unknown [Fri, 4 May 2012 14:32:31 +0000 (16:32 +0200)]
Fix compilation error if don't have MMAP like win32
navarro [Fri, 4 May 2012 11:22:24 +0000 (13:22 +0200)]
Rewrite function net_update_action_remaining_lazy like in cpu.
Arnaud Legrand [Fri, 4 May 2012 11:05:44 +0000 (13:05 +0200)]
Get rid of intrusive check now that suspend, resume and kill have been cleaned up.
Arnaud Legrand [Fri, 4 May 2012 11:00:50 +0000 (13:00 +0200)]
Better coverage of SIMIX_process_suspend and resume.
navarro [Thu, 3 May 2012 17:15:46 +0000 (19:15 +0200)]
A priori, no need to propagate modifications when the variable has no impact on the constraint.
navarro [Thu, 3 May 2012 17:14:53 +0000 (19:14 +0200)]
Revisit lazy_remaining_update that was completely broken.
Unfortunately, this requires to save the previous variable value
since we know when an action requires a remaining_update only
after having thrashed the variable value with lmm_solve. Hence,
function call order is completely changed but now, we only
update needed variables whereas before almost all variables got
updated everytime.
Samuel Lepetit [Thu, 3 May 2012 12:18:57 +0000 (14:18 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Samuel Lepetit [Thu, 3 May 2012 12:18:51 +0000 (14:18 +0200)]
Bugfix in masterslave_arg
Arnaud Legrand [Thu, 3 May 2012 10:55:40 +0000 (12:55 +0200)]
Revalidate output after my recent modifications in simix
The execution order of process at a given timestep may have changed but
if your code really depends on this, this means it was already producing
bogus results.
Arnaud Legrand [Thu, 3 May 2012 10:47:04 +0000 (12:47 +0200)]
Make the suspend/resume work while a process is in a syscall.
Arnaud Legrand [Thu, 3 May 2012 10:45:34 +0000 (12:45 +0200)]
Use this variable so that gcc does not warn anymore.
Marion Guthmuller [Thu, 3 May 2012 10:23:33 +0000 (12:23 +0200)]
add SIMIX_host_get/set_data declaration in simix.h and include simix.h in msg_host.c (compilation warnings)
Marion Guthmuller [Thu, 3 May 2012 08:54:19 +0000 (10:54 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot//simgrid/simgrid
Marion Guthmuller [Thu, 3 May 2012 08:54:14 +0000 (10:54 +0200)]
model-checker : new comparison of region (program data and libsimgrid data)
schnorr [Wed, 2 May 2012 15:46:41 +0000 (17:46 +0200)]
[trace] always set initial value for variables, if not, we get an invalid trace file
navarro [Wed, 2 May 2012 11:04:01 +0000 (13:04 +0200)]
This file does not exist.
Martin Quinson [Mon, 30 Apr 2012 23:29:48 +0000 (01:29 +0200)]
Stop using SMX host->data to store MSG host
- that's useless since we have the lib to retrieve the MSG_host data
directly
- it would break java bindings since it stores java object in there
Pretty fucking bug, I've lost my day on this one.
Martin Quinson [Sat, 28 Apr 2012 07:48:39 +0000 (09:48 +0200)]
I forgot to update my tree before commiting (once again), and got conflicts as punishment
Martin Quinson [Fri, 27 Apr 2012 21:03:00 +0000 (23:03 +0200)]
removing the channels would really make the structures simpler
Martin Quinson [Fri, 27 Apr 2012 20:47:02 +0000 (22:47 +0200)]
Remove the public field msg_host_t->name. Use MSG_host_get_name()
Martin Quinson [Fri, 27 Apr 2012 20:35:49 +0000 (22:35 +0200)]
simplify msg_host_t by inlining the simdata field
Martin Quinson [Fri, 27 Apr 2012 20:25:31 +0000 (22:25 +0200)]
save one pointer per MSG host
Martin Quinson [Fri, 27 Apr 2012 20:09:38 +0000 (22:09 +0200)]
Merge all public simix headers, and distribute them in simgrid directory
Actually, I think I never understood why we have a separate
datatypes.h header: what's the harm of declaring the functions too?
I kinda prefer one directory with all files instead of 12 directories
with 2 files each.
Martin Quinson [Fri, 27 Apr 2012 19:51:05 +0000 (21:51 +0200)]
Enhance the communication filtering mechanism
* Add an extra argument to the filter: a smx_action_t describing the
other side's communication. That's useful to write filters on other
side's identity
* Ensure that if no comm matches the filters, the filter function gets
saved in the comm object that gets created and stored in rdv point.
Later on, when someone else tries to make a match, use that stored
function to ensure that the stored filter accepts to match the new
commer.
Thanks to Sorina Camarasu for exploring all this.
Marion Guthmuller [Fri, 27 Apr 2012 14:43:29 +0000 (16:43 +0200)]
model-checker : remove meta-data of heap in comparison algorithm
Arnaud Giersch [Fri, 27 Apr 2012 12:16:18 +0000 (14:16 +0200)]
Workaround problem with excess precision on i387 FPU.
See http://gcc.gnu.org/PR323.
Arnaud Giersch [Fri, 27 Apr 2012 12:16:18 +0000 (14:16 +0200)]
Use existing xbt_swag_reset().
navarro [Fri, 27 Apr 2012 11:16:03 +0000 (13:16 +0200)]
Ajout de tests pour kill et start time
navarro [Fri, 27 Apr 2012 11:09:41 +0000 (13:09 +0200)]
Update tesh for kill start time.
navarro [Fri, 27 Apr 2012 10:57:25 +0000 (12:57 +0200)]
Rewrite the kill_time mecanism.
Arnaud Giersch [Fri, 27 Apr 2012 10:41:32 +0000 (12:41 +0200)]
Revert "got a "might be clobbered by ‘longjmp’ or ‘vfork’" error when compiled"
This reverts commit
34b3794d5a8de6a9258a6144f67de4fc38c960f1.
AFAICT, this is not needed after commit
1128245fc5ccac68ce1f696aab780e15ff9f735a.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:58 +0000 (12:03 +0200)]
Useless free, and other cosmetics.
Dynar is already free'd by xbt_dynar_merge.
The FIXME looks obsolete.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:58 +0000 (12:03 +0200)]
Pass 'res->link_list' and 'lat' directly to routing_get_route_and_latency().
Arnaud Giersch [Fri, 27 Apr 2012 10:03:58 +0000 (12:03 +0200)]
Put links in right order in tesh file.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:58 +0000 (12:03 +0200)]
Make floyd_get_route_and_latency cleaner, and hopefully right.
Stack the links before processing them, and avoid costly dynar_unshift/
dynar_insert_at.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:58 +0000 (12:03 +0200)]
Cosmetics: a switch..case is clearer here.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:57 +0000 (12:03 +0200)]
Rework xbt_dynar_three_way_partition.
* use existing _xbt_dynar_elm() to retrieve elements;
* swap elements only when needed.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:57 +0000 (12:03 +0200)]
Cosmetics: misleading indentation.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:57 +0000 (12:03 +0200)]
Reinitialize waiting_action at proper place.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:57 +0000 (12:03 +0200)]
Empty argument is allowed for XBT_IN().
Arnaud Giersch [Fri, 27 Apr 2012 10:03:57 +0000 (12:03 +0200)]
Use XBT_OUT/XBT_HERE with user defined format.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:57 +0000 (12:03 +0200)]
Allow user defined format for XBT_IN() and XBT_HERE() too.
Arnaud Giersch [Fri, 27 Apr 2012 10:03:57 +0000 (12:03 +0200)]
memcheck_tests: regenerate.
Frederic Suter [Fri, 27 Apr 2012 10:32:39 +0000 (12:32 +0200)]
got a "might be clobbered by ‘longjmp’ or ‘vfork’" error when compiled
with supernovae
add a volatile as midjy taught me.
Frederic Suter [Fri, 27 Apr 2012 10:11:30 +0000 (12:11 +0200)]
global_routing doesn't exist anymore. If I'm correct, it's
routing_platf now
Frederic Suter [Fri, 27 Apr 2012 10:10:06 +0000 (12:10 +0200)]
remove unused variable that raises warning (when treated as error ...)
navarro [Fri, 27 Apr 2012 09:09:35 +0000 (11:09 +0200)]
Add a specific test for arguments start_time and kill_time of process tag.
Arnaud Legrand [Thu, 26 Apr 2012 23:54:18 +0000 (01:54 +0200)]
Tesh update.
The previous commit has added a few more simcals and the process now
gets killed before getting a chance to execute a task. Both behavior are
valid so let's take this one.
Arnaud Legrand [Thu, 26 Apr 2012 23:39:55 +0000 (01:39 +0200)]
Process that suspend themselves now create the corresponding surf action
A process that suspends himself did not create any surf action. When
processing the simcall, the maestro only set the process as suspended
and did not answer the simcall. Likewise a resume would simply wake up
the process. A problem with this is that if the corresponding host ever
went down, the suspended process would never have realized.
For the moment, just die whenever a process is suspended and it is not
waiting on an action that can be be suspended. The consequence is that
there is no reason to wake up a process that did not have any waiting
action. Again, DIE if this ever happens for the moment.
Arnaud Legrand [Thu, 26 Apr 2012 22:27:38 +0000 (00:27 +0200)]
Let's not assume that an unsigned long int always behave as a char *...
When it comes to such pointer arithmetic, char * is the way to go.
Plus plug a dumb memleak.
Sorry about the previous commit that did not work with full compilation flags.
Arnaud Legrand [Thu, 26 Apr 2012 22:24:22 +0000 (00:24 +0200)]
This function has no reason to go public.
Sorry about the previous buggy commit that did not worked with full warning flags.
Samuel Lepetit [Thu, 26 Apr 2012 15:24:24 +0000 (17:24 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Samuel Lepetit [Thu, 26 Apr 2012 15:24:15 +0000 (17:24 +0200)]
Fix liblua location on some linux distributions, like Archlinux.
Duco van Amstel [Thu, 26 Apr 2012 08:47:58 +0000 (10:47 +0200)]
Fixed some compilation issues (warnings) in last commits
Arnaud Legrand [Wed, 25 Apr 2012 23:09:02 +0000 (01:09 +0200)]
Hide pretty nasty issue.
In this example, a process is killed right at the same time as it starts
executing somthing. It creates the surf action but is killed before it
gets the opportunity to wait on it. Consequently, the kill does not clean
up the surf action (so technically, the corresponding resources are still
wasted).
This could be "solved" by doing the kill before the simcall that created
the surf action. But more generally, it raises the issue of all the
data that have been allocated during the MSG_task_execute. There is
something really annoying with the kill. The current MSG implementation
is clearly not protected against kills. In case of kill, when doing a
simcall, we should throw an exception and TRY CATCH everywhere. We're far
from this for now so I leave it for another time.
Arnaud Legrand [Wed, 25 Apr 2012 22:59:06 +0000 (00:59 +0200)]
Cosmetics.
Arnaud Legrand [Wed, 25 Apr 2012 22:56:11 +0000 (00:56 +0200)]
Minor tracing/debug output improvement.
Arnaud Legrand [Wed, 25 Apr 2012 22:16:22 +0000 (00:16 +0200)]
Do not try to resume a dying process. The corresponding surf structure
would already have been freed, and this would result in a mess. That's
also why we make sure that resume simcalls occurs before kill simcalls
in SIMIX_run.
Arnaud Legrand [Wed, 25 Apr 2012 22:14:37 +0000 (00:14 +0200)]
Ensure that the same process never appears twice in the list of process_to_run.
Otherwise, it would be awaken twice. The first time, it would execute then
wait on the completion of a new simcall. The second time it would appear
to return from the new simcall but the simcall would not have been
executed.
Since resume and kill are particular functions/simcalls that change
the behavior of other process, it is ok if the process was already in the
process_to_run list (although it must not appear twice). For other simcalls,
I think it is invalid if two simcalls lead the scheduling of the same
process.
Arnaud Legrand [Wed, 25 Apr 2012 22:09:03 +0000 (00:09 +0200)]
Make sure that kill simcalls are processed (with SIMIX_simcall_pre) at the end, right after resume simcalls, which are also done after any other type of simcall.
Arnaud Legrand [Wed, 25 Apr 2012 22:03:38 +0000 (00:03 +0200)]
Add a convenient dynar function to sort the dynar using the Dutch national flag technique.
Arnaud Legrand [Wed, 25 Apr 2012 20:04:59 +0000 (22:04 +0200)]
Fix a very old typo...
Arnaud Legrand [Mon, 2 Apr 2012 23:16:51 +0000 (01:16 +0200)]
Lame attempt to make cleanup and kill coexist
Arnaud Legrand [Mon, 2 Apr 2012 23:16:32 +0000 (01:16 +0200)]
On a timeout we do not wait anymore on a task.
-> Avoid keeping a pointer to an invalid object.
Arnaud Legrand [Mon, 2 Apr 2012 23:15:38 +0000 (01:15 +0200)]
This should indeed be useless so let's remove it.
Arnaud Legrand [Mon, 2 Apr 2012 14:19:31 +0000 (16:19 +0200)]
This commit partially reverts commit
4e0c8570051df3f7114e0097bf888a99946b6138.
Such a lazy resume seem to clash with the use of synchronization
structures. The problem is well illustrated with simgrid-boinc.
Surprisingly, simgrid/valgrind go completely crazy and segfaults in
stuff like pthread_getspecific.
schnorr [Wed, 25 Apr 2012 16:33:56 +0000 (18:33 +0200)]
[trace] let user code declare/set/push/pop states for hosts
details:
- useful for gantt-based views
navarro [Wed, 25 Apr 2012 10:38:38 +0000 (12:38 +0200)]
Add tesh for storag.
Martin Quinson [Wed, 25 Apr 2012 09:39:07 +0000 (11:39 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Wed, 25 Apr 2012 09:38:51 +0000 (11:38 +0200)]
add a link to the scientific tutorial in the 101 section of the documentatino
Arnaud Giersch [Mon, 23 Apr 2012 12:40:00 +0000 (14:40 +0200)]
Fix printf format strings.
Martin Quinson [Sun, 22 Apr 2012 19:18:42 +0000 (21:18 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Sun, 22 Apr 2012 19:17:24 +0000 (21:17 +0200)]
rewrite the documentation of MSG_task_get_from_host to reflect the fact that it is not implemented anymore
Martin Quinson [Sun, 22 Apr 2012 09:14:25 +0000 (11:14 +0200)]
add a word on the logo licensing: CC-BY-SA-3.0
Arnaud Giersch [Sat, 21 Apr 2012 16:51:28 +0000 (18:51 +0200)]
Add full references for the articles.
Marion Guthmuller [Fri, 20 Apr 2012 17:17:54 +0000 (19:17 +0200)]
model-checker : get pointer address for bytes detected as different in heap comparison algorithm
Marion Guthmuller [Fri, 20 Apr 2012 17:15:20 +0000 (19:15 +0200)]
model-checker : change XBT_DEBUG for fprintf
Marion Guthmuller [Fri, 20 Apr 2012 17:08:53 +0000 (19:08 +0200)]
model-checker : reindent, no change
Marion Guthmuller [Fri, 20 Apr 2012 17:03:20 +0000 (19:03 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot//simgrid/simgrid
Marion Guthmuller [Fri, 20 Apr 2012 17:02:58 +0000 (19:02 +0200)]
model-checker : separate bugged1_liveness (deleted) example in two cases : finite CS requests (bugged1_for_liveness) and infinite CS requests (bugged1_while_liveness)
Arnaud Giersch [Fri, 20 Apr 2012 13:11:42 +0000 (15:11 +0200)]
Avoid double free()s.
Arnaud Giersch [Fri, 20 Apr 2012 13:07:12 +0000 (15:07 +0200)]
Consolidate loops. Also remove useless initializations.
Arnaud Giersch [Fri, 20 Apr 2012 07:20:36 +0000 (09:20 +0200)]
Break recursion a bit earlier.
Compute the expected LCS length, and use it to stop as soon as the LCS
is complete.
Arnaud Giersch [Thu, 19 Apr 2012 09:08:53 +0000 (11:08 +0200)]
Add a --verbose option for testall.
Arnaud Giersch [Thu, 19 Apr 2012 08:59:52 +0000 (10:59 +0200)]
Fix parsing of options for testall.
Options such as --helpless or --dumpfoobar were wrongly treated as synonyms
for --help or --dump.
Arnaud Giersch [Wed, 18 Apr 2012 15:39:39 +0000 (17:39 +0200)]
Use pointer arithmetic for accessing to dynar elements.
It is more efficient than the xbt_dynar_get_* functions.
Assumes that dynar's contents is contiguous.
Arnaud Giersch [Wed, 18 Apr 2012 15:39:39 +0000 (17:39 +0200)]
Use a smarter algorithm for xbt_str_diff.
The previous one had a time and space complexity of O(n.m), with n and m
being the length of the inputs, and reached the memory limits pretty fast.
Implement the algorithm described in "An O(NP) Sequence Comparison Algorithm",
by Sun Wu, Udi Manber, Gene Myers, and Webb Miller (Information Processing
Letters 35(6):317-323, 1990), with the linear-space divide-and-conquer
strategy described in "An O(ND) Difference Algorithm and Its Variations",
by Eugene W. Myers (Algorithmica 1:251-266, 1986).
Christophe Thiéry [Tue, 17 Apr 2012 15:44:17 +0000 (17:44 +0200)]
Respect the coding style
Christophe Thiéry [Tue, 17 Apr 2012 15:41:51 +0000 (17:41 +0200)]
Remove tabs
navarro [Wed, 11 Apr 2012 10:13:00 +0000 (12:13 +0200)]
Fix documentation navbar and page for tour dynar.
navarro [Wed, 11 Apr 2012 09:22:58 +0000 (11:22 +0200)]
Fix ns3 and gtnets compilation