Martin Quinson [Mon, 14 May 2012 13:46:53 +0000 (15:46 +0200)]
add a short proof of corectness. should work too
Martin Quinson [Mon, 14 May 2012 12:59:22 +0000 (14:59 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Mon, 14 May 2012 12:59:07 +0000 (14:59 +0200)]
argument why parallel execution don't jeopardize reproducibility even if we never sort process_to_run explicitely (and cite XKCD appropriatly)
Christophe Thiéry [Mon, 14 May 2012 12:55:55 +0000 (14:55 +0200)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot//simgrid/simgrid
Arnaud Giersch [Mon, 14 May 2012 12:47:43 +0000 (14:47 +0200)]
Remove old cruft.
Christophe Thiéry [Mon, 14 May 2012 12:39:58 +0000 (14:39 +0200)]
Add comments to this script
Arnaud Giersch [Mon, 14 May 2012 08:45:56 +0000 (10:45 +0200)]
Typo.
Martin Quinson [Sun, 13 May 2012 21:59:13 +0000 (23:59 +0200)]
missing file in .tgz causing errors in ctest
Martin Quinson [Sun, 13 May 2012 21:49:53 +0000 (23:49 +0200)]
prepare the NEWS file for next release
Martin Quinson [Sun, 13 May 2012 21:40:26 +0000 (23:40 +0200)]
update the ChangeLog
Martin Quinson [Sun, 13 May 2012 21:22:15 +0000 (23:22 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Sun, 13 May 2012 21:20:51 +0000 (23:20 +0200)]
make xbt_os_thread module public (Java needs it, at least)
Martin Quinson [Sun, 13 May 2012 21:17:24 +0000 (23:17 +0200)]
ensure that this header can be made public by relying on public simgrid_config.h, not private gras_config.h
Marion Guthmuller [Fri, 11 May 2012 17:07:06 +0000 (19:07 +0200)]
model-checker : parser for dwarf file (to complete ...)
schnorr [Fri, 11 May 2012 14:09:30 +0000 (16:09 +0200)]
[trace] update ChangeLog to report relevant changes in the tracing system
navarro [Thu, 10 May 2012 15:36:15 +0000 (17:36 +0200)]
Update tesh for 32 bit
navarro [Thu, 10 May 2012 15:24:55 +0000 (17:24 +0200)]
Just hack the Bconnection to be sure test succed on 32 and 64 bit platform
HAVE TO BE FIX AFTER SIMGRID v3.7
navarro [Thu, 10 May 2012 15:18:45 +0000 (17:18 +0200)]
Update tesh file
Martin Quinson [Thu, 10 May 2012 14:41:18 +0000 (16:41 +0200)]
improve a comment on my way
Martin Quinson [Thu, 10 May 2012 12:49:15 +0000 (14:49 +0200)]
More debugs around process suspension
Martin Quinson [Thu, 10 May 2012 12:48:50 +0000 (14:48 +0200)]
allow a process blocked on a communication that didn't start yet to get suspended
Martin Quinson [Thu, 10 May 2012 12:47:07 +0000 (14:47 +0200)]
typo
Martin Quinson [Thu, 10 May 2012 08:40:10 +0000 (10:40 +0200)]
new function xbt_dynar_search_or_negative()
It is useful when you have less than 2 million elements in your dynar
and don't want of the extra complexity of catching exceptions when the
element is not found.
Laurent Bobelin [Thu, 10 May 2012 12:43:54 +0000 (14:43 +0200)]
doc : misc : documented that the numeric sep in trace file depends on system locale.
navarro [Thu, 10 May 2012 12:36:58 +0000 (14:36 +0200)]
Make simgrid doc with new logo name
Samuel Lepetit [Thu, 10 May 2012 11:41:57 +0000 (13:41 +0200)]
Add explanation in MSG_task_irecv documentation
navarro [Thu, 10 May 2012 10:29:31 +0000 (12:29 +0200)]
Merge cpu and network for action functions.
navarro [Wed, 9 May 2012 14:59:10 +0000 (16:59 +0200)]
Put those variables private
navarro [Wed, 9 May 2012 14:18:41 +0000 (16:18 +0200)]
TODO for cache friendly
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...