Gabriel Corona [Mon, 30 Nov 2015 11:06:58 +0000 (12:06 +0100)]
[simix] Fix signatures of callbacks (timer and kill_process_function)
* Conversion between pointer-to-pointer and pointer to data is
undefined behaviour.
* Moreover, this hides error. The kill_process_function was called in
the timer with only one argument whreas it expects two arguments
(the killed process and the killer process).
* Simpligy the signature of SIMIX_function_register_process_kill() to
only take a single argument. The second one is never used.
Gabriel Corona [Mon, 30 Nov 2015 10:39:38 +0000 (11:39 +0100)]
[platf] Move sg_platf_new_process in platf.cpp
Gabriel Corona [Mon, 30 Nov 2015 09:21:18 +0000 (10:21 +0100)]
[platf] Kill sg_process_cb
Gabriel Corona [Mon, 30 Nov 2015 09:02:00 +0000 (10:02 +0100)]
[simix] Make some static variables local
Because they are local variables in disguise.
Gabriel Corona [Fri, 27 Nov 2015 15:03:36 +0000 (16:03 +0100)]
[surf] Move the host ns3 hook to routingEdgeCreatedCallbacks
Gabriel Corona [Fri, 27 Nov 2015 11:58:02 +0000 (12:58 +0100)]
[surf] Add routingEdgeCreatedCallbacks for RoutingEdge
Martin Quinson [Sun, 29 Nov 2015 23:05:33 +0000 (00:05 +0100)]
no need to override the super() method to the exact same content
Martin Quinson [Sun, 29 Nov 2015 16:58:37 +0000 (17:58 +0100)]
rename some symbols around Link::isShared to make their purpose clear
Martin Quinson [Sat, 28 Nov 2015 21:27:53 +0000 (22:27 +0100)]
reimplement energy plugin using Host callbacks (not Cpu ones)
Martin Quinson [Sat, 28 Nov 2015 20:44:20 +0000 (21:44 +0100)]
protect against multiply create hosts in one location only
Martin Quinson [Sat, 28 Nov 2015 20:31:33 +0000 (21:31 +0100)]
useless cosmetic
Martin Quinson [Sat, 28 Nov 2015 20:29:07 +0000 (21:29 +0100)]
pass netElm&CPU as parameter to the host constructor
It was passed implicitly through the set of existing netElm and CPU.
Martin Quinson [Sat, 28 Nov 2015 20:18:29 +0000 (21:18 +0100)]
the fabric of RoutingEdges should return the create one
Gabriel Corona [Fri, 27 Nov 2015 13:04:32 +0000 (14:04 +0100)]
[surf] Change routing_parse_init() into routing_add_host()
Do not depend on the parsing state in this function.
Gabriel Corona [Fri, 27 Nov 2015 12:33:28 +0000 (13:33 +0100)]
[surf] Remove some layers of indirections in sg_platf_new_host()
Gabriel Corona [Fri, 27 Nov 2015 10:25:44 +0000 (11:25 +0100)]
[surf] Remove power related methods from CpuL07
They are not implemented, not used anyway. Power is implemented in the
CPU.
Gabriel Corona [Thu, 26 Nov 2015 09:35:37 +0000 (10:35 +0100)]
[surf] Switch instr_routing to C++
Gabriel Corona [Thu, 26 Nov 2015 09:03:56 +0000 (10:03 +0100)]
[surf] Move host creation callbacks of Infiniband to hostCreatedCallbacks
Gabriel Corona [Thu, 26 Nov 2015 08:47:47 +0000 (09:47 +0100)]
[ns3] Move host creation callbacks to hostCreatedCallbacks
Gabriel Corona [Wed, 25 Nov 2015 11:59:55 +0000 (12:59 +0100)]
[mc] Add missing copyright notices
Gabriel Corona [Wed, 25 Nov 2015 11:56:44 +0000 (12:56 +0100)]
[mc] Better #includes
Use "#include src/mc/foo" instead of "#include foo"
Gabriel Corona [Wed, 25 Nov 2015 11:21:17 +0000 (12:21 +0100)]
[java] Sync code generation with generated source code
I modified a generated file directly :/
Gabriel Corona [Wed, 25 Nov 2015 11:21:41 +0000 (12:21 +0100)]
[mc] Remove .. in #includes
Gabriel Corona [Wed, 25 Nov 2015 11:02:59 +0000 (12:02 +0100)]
[ns3] Fix ns3 compilation
Martin Quinson [Wed, 25 Nov 2015 23:57:41 +0000 (00:57 +0100)]
Make HostL07 behave more like the regular Host
The methods execute() and sleep() were implemented directly in the
host, and the virtual functions in the cpu were implemented with a
DIE_IMPOSSIBLE.
Instead, HostL07 is dispatching the execute() and sleep() calls that
it gets from the higher layers to its CpuL07, just as any Host.
The goal is to kill HostL07 and just use a regular Host dispatching
*every* call to its CPU and RoutingEdge. Then, Host will be made part
of the public interface (simgrid::Host will offer the interface of
S4U::Host with the content of surf::Host).
Martin Quinson [Wed, 25 Nov 2015 22:36:31 +0000 (23:36 +0100)]
hollow comments
Martin Quinson [Wed, 25 Nov 2015 14:39:29 +0000 (15:39 +0100)]
remove an obsolete file (designed for SimGrid 3.4)
Gabriel Corona [Wed, 25 Nov 2015 09:19:16 +0000 (10:19 +0100)]
[surf] Hardcode some of the sg_platf_host callbacks
The goal is to remove this layer of callbacks.
Moreover the order of execution of those callbacks is important.
Currently, it breaks the ability to have platform and deployment data
in the same XML however.
Gabriel Corona [Wed, 25 Nov 2015 08:42:08 +0000 (09:42 +0100)]
[surf] Switch sg_platf to C++
Because we need it for the next commit.
Gabriel Corona [Tue, 24 Nov 2015 16:11:21 +0000 (17:11 +0100)]
[surf] Don't free power_peak from the caller
The code was giving the power_peak array to the callee. The callers
might still need the power_peak. Freeing it in the callee creates
dangling pointers in the callers.
Instead we consider power_peak as immutable in the callee and make a
private copy when needed instead of stealing it from the callers.
Martin Quinson [Tue, 24 Nov 2015 21:01:45 +0000 (22:01 +0100)]
[surf] move gap-related definition to the subclass where they belong
No need to overload higher classes with useless cruft
Martin Quinson [Tue, 24 Nov 2015 19:16:57 +0000 (20:16 +0100)]
Comment the java stripping commands for now
Comment the lines instead of removing them, so that we can easily
reintroduce this in the future (the Mac workaround is not trivial)
This reverts and modifies commit
82c8c18086305a434d8965730f7a1ea93ddf141d.
Gabriel Corona [Tue, 24 Nov 2015 16:39:47 +0000 (17:39 +0100)]
[java] Don't strip SOs in JARs
in order to be able to debug the native part of Java programs
Gabriel Corona [Tue, 24 Nov 2015 13:28:33 +0000 (14:28 +0100)]
[xbt] C++ support for RngStream.h
Gabriel Corona [Tue, 24 Nov 2015 12:36:26 +0000 (13:36 +0100)]
[surf] Move VMCreatedCallbacks outside of constructor
Gabriel Corona [Tue, 24 Nov 2015 12:31:42 +0000 (13:31 +0100)]
[surf] Move storageCreatedCallbacks outside of constructor
Gabriel Corona [Tue, 24 Nov 2015 12:18:37 +0000 (13:18 +0100)]
[surf] Move networkLinkCreatedCallbacks outside of constructor
Gabriel Corona [Tue, 24 Nov 2015 11:54:26 +0000 (12:54 +0100)]
[surf] Factorize some CPU registration code in sg_host_surfcpu_register() (DRY)
Gabriel Corona [Tue, 24 Nov 2015 10:27:18 +0000 (11:27 +0100)]
[surf] Change CPU initialization
- Move creation callbacks out of constructor (the object is not fully
constructed in the Host constructor).
- Do not call the setState virtual method in the constructor. This
calls the stateChanged callbacks some of which expect the
hostCreated callbacks to have been called.
Gabriel Corona [Tue, 24 Nov 2015 10:06:04 +0000 (11:06 +0100)]
[surf] Move the hostCreatedCallbacks after the constructor
The callbacks were called in the Host constructor which is at the very
beginning og the object construction: the fields of the derived
classes are not initialized at this point and the correct virtual
methods are not available.
Gabriel Corona [Mon, 23 Nov 2015 16:00:24 +0000 (17:00 +0100)]
[surf] Move network_constant host callback from sg_platf_host_cb to hostCreatedCallbacks
chaix [Mon, 23 Nov 2015 16:37:36 +0000 (18:37 +0200)]
Changed the MathJax address to get equations working again in the HTML documentation.
Corrected some typos in SURF_lmm documentation.
Gabriel Corona [Fri, 20 Nov 2015 15:29:07 +0000 (16:29 +0100)]
[mc] Remove mcer_ignore.cpp
Gabriel Corona [Fri, 20 Nov 2015 15:09:25 +0000 (16:09 +0100)]
[mc] Move ignore_local_variable() into Process
Gabriel Corona [Fri, 20 Nov 2015 12:52:24 +0000 (13:52 +0100)]
[mc] Move heap_ignore to Process
Gabriel Corona [Fri, 20 Nov 2015 11:31:43 +0000 (12:31 +0100)]
[mc] Move stacks_areas into Process
Gabriel Corona [Fri, 20 Nov 2015 10:50:37 +0000 (11:50 +0100)]
[mc] Remove MCer_ignore_global_variable
Gabriel Corona [Fri, 20 Nov 2015 09:43:18 +0000 (10:43 +0100)]
[mc] Remove useless bits
Gabriel Corona [Mon, 23 Nov 2015 15:18:27 +0000 (16:18 +0100)]
[surf] Wrap the sigc++ API to provide the same API as boost::signals2
Gabriel Corona [Mon, 23 Nov 2015 15:17:51 +0000 (16:17 +0100)]
[surf] Fix build with sigc++
Martin Quinson [Sun, 22 Nov 2015 23:45:22 +0000 (00:45 +0100)]
Fix Java build
java CPU surf binding used to register itself to the list of models that
must be called through shareResources directly. But this was useless
because CPU models are invoked from the host models (leading to
dupplicated lines in the tesh file).
Now that it is not possible anymore to register to that list of models
(which was removed), we must fix the java CPU surf binding.
Martin Quinson [Sun, 22 Nov 2015 23:22:12 +0000 (00:22 +0100)]
[appveyor] update to what symengine is doing
This introduces a new appveyor script in charge of downloading a given
file, dealing with appveyor's transient network errors.
Martin Quinson [Sun, 22 Nov 2015 23:17:20 +0000 (00:17 +0100)]
I hate hollow doxygen comments
Martin Quinson [Sun, 22 Nov 2015 23:08:33 +0000 (00:08 +0100)]
Simplify how shareResources() is called in each models
- Host->shareResources() is in charge of calling the ones of Cpu, Net
and Storage
- VM->shareResources() must be called after the Host one
So, don't make a list `model_list_invoke` of two elements that must be
called in a very specific order. Instead, directly call these methodes
in surf_solve().
A next step could be to put the content of Host->shareResources and
maybe VM->shareResources() in surf_solve so that Host and VM can stop
being resources just to dispatch calls to the real resources.
But L07 must be dealed with before (eg by moving the content of
Host07->shareResource() into Cpu07->shareResources() and leaving
Link07->shareResources() empty).
Martin Quinson [Sun, 22 Nov 2015 21:57:06 +0000 (22:57 +0100)]
rename a global to make its purpose clear (hopefully)
Martin Quinson [Sun, 22 Nov 2015 18:28:09 +0000 (19:28 +0100)]
kill more dead code
Martin Quinson [Sat, 21 Nov 2015 15:01:24 +0000 (16:01 +0100)]
kill dead code
Gabriel Corona [Tue, 17 Nov 2015 10:02:31 +0000 (11:02 +0100)]
[mc] Move MC-related out of simix and into mc where it belongs
Martin Quinson [Mon, 16 Nov 2015 15:04:55 +0000 (16:04 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Mon, 16 Nov 2015 15:04:42 +0000 (16:04 +0100)]
deal with portability issues induced by ptrace
Gabriel Corona [Mon, 16 Nov 2015 08:26:29 +0000 (09:26 +0100)]
[mc] Better explanation for DW_OP_call_frame_cfa
Martin Quinson [Sat, 14 Nov 2015 23:36:02 +0000 (00:36 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Sat, 14 Nov 2015 23:35:20 +0000 (00:35 +0100)]
move all VM+energy code into callbacks
This keeps the main files clean of any energy related code.
Martin Quinson [Sat, 14 Nov 2015 22:10:54 +0000 (23:10 +0100)]
unused variable
Martin Quinson [Sat, 14 Nov 2015 22:07:59 +0000 (23:07 +0100)]
more explicit header inclusion guard
Martin Quinson [Sat, 14 Nov 2015 21:47:32 +0000 (22:47 +0100)]
cosmetics in the VM/energy code
Martin Quinson [Sat, 14 Nov 2015 21:35:00 +0000 (22:35 +0100)]
kill some dead code
Martin Quinson [Sat, 14 Nov 2015 21:28:18 +0000 (22:28 +0100)]
Prefer the C-ish sg_host_get_name() over sg_host_name()
Both were defined, for some reason
Gabriel Corona [Thu, 12 Nov 2015 13:49:56 +0000 (14:49 +0100)]
[mc] Make mc_diff_info static
Gabriel Corona [Thu, 12 Nov 2015 13:45:37 +0000 (14:45 +0100)]
[mc] Simplification, remove profiling code
Gabriel Corona [Thu, 12 Nov 2015 12:42:10 +0000 (13:42 +0100)]
[mc] Move the MCer wait_for_requests logic outside of MC_wait_for_requests
Gabriel Corona [Thu, 12 Nov 2015 11:21:31 +0000 (12:21 +0100)]
[mc] Merge Server class into ModelChecker
The distinction was mainly there because Server class was only useful
in split-process mode. Now the other mode does not exist and the
Server class is always used.
Gabriel Corona [Thu, 12 Nov 2015 10:24:19 +0000 (11:24 +0100)]
[mc] Remove Process:status_
Gabriel Corona [Thu, 12 Nov 2015 09:04:29 +0000 (10:04 +0100)]
[mc] Replace some exit() calls by return
Gabriel Corona [Thu, 12 Nov 2015 08:43:39 +0000 (09:43 +0100)]
[mc] Move privatization flag initialization
Fix the snapshot tests.
Gabriel Corona [Tue, 10 Nov 2015 14:36:23 +0000 (15:36 +0100)]
[mc] Fix exit status naming convention
Gabriel Corona [Tue, 10 Nov 2015 14:27:35 +0000 (15:27 +0100)]
[mc] Move Server in simgrid::mc
Gabriel Corona [Tue, 10 Nov 2015 13:58:02 +0000 (14:58 +0100)]
[mc] Simplify mc_server
Gabriel Corona [Tue, 10 Nov 2015 11:03:36 +0000 (12:03 +0100)]
[mc] Fix privatisation support
It was broken (TODO) since the switch to split-process MC.
Gabriel Corona [Tue, 10 Nov 2015 09:26:22 +0000 (10:26 +0100)]
[mc] Remove MC code in sigsegvhandler
We do not have mc_stack in the model-checked process.
Gabriel Corona [Mon, 9 Nov 2015 14:45:08 +0000 (15:45 +0100)]
[mc] Generate a message showing the path on crash of the model-checked
Gabriel Corona [Mon, 9 Nov 2015 13:54:01 +0000 (14:54 +0100)]
[mc] Move model-checker message processing logic in its own method
Gabriel Corona [Fri, 6 Nov 2015 13:49:16 +0000 (14:49 +0100)]
[mc] ptrace the model-checker application
The first goal is to be able to detect crashes of the model-checked
application in the model-checker. This first patch only implement the
ptrace but does not detect the crashed properly yet.
As we are using ptrace, we do not need to using messages to
stop/resume the model-checked application. The HELLO message is
removed whose only purpose was to synchronise the execution of the two
processes (wait for the model-checked application to be ready before
trying to read its memory map).
Martin Quinson [Sun, 8 Nov 2015 20:57:27 +0000 (21:57 +0100)]
sanitizes host user_data: create a lib level
Martin Quinson [Sun, 8 Nov 2015 20:56:20 +0000 (21:56 +0100)]
Don't segfault when one level of the lib has a NULL free_f
Martin Quinson [Sat, 7 Nov 2015 20:57:12 +0000 (21:57 +0100)]
[tesh] try to properly quote the regexps for Perl 5.22
Martin Quinson [Fri, 6 Nov 2015 22:03:02 +0000 (23:03 +0100)]
[L07] Don't segfault on point-to-point communications
NetworkL07Model::communicate() tries to use host->executeParallelTask(2, ...)
(to change P2P comms into parallel tasks), but host was never
initialized. (fix #28)
We should add a test for that too, I guess.
Martin Quinson [Fri, 6 Nov 2015 20:42:29 +0000 (21:42 +0100)]
[win] protect the inclusion of a non-existing file
Martin Quinson [Fri, 6 Nov 2015 20:19:06 +0000 (21:19 +0100)]
[cmake] 'not' and 'NOT' are different, but only on windows
Martin Quinson [Fri, 6 Nov 2015 19:57:08 +0000 (20:57 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Gabriel Corona [Tue, 3 Nov 2015 13:05:14 +0000 (14:05 +0100)]
[smpi] Use virtual memory layout to find the data segment
... Instead of extrating the position of the .data and .bss sections
with objdump:
* don't spawn a separate process (objdump);
* works even with PIE;
* works even without section header table;
* works even if weird sections are used;
* works at the segment granuality instead of the section granularity.
However some heuristic is used which might break in some cases: using
the help of the program header table would be a good idea (but would
add a dependency on ELF).
Currently only implemented on Linux but the SMPI privatisation was
only available on Linux anyway.
Martin Quinson [Thu, 5 Nov 2015 00:31:33 +0000 (01:31 +0100)]
inline another getter simcall: host_get_nb_pstates
Christian Heinrich [Wed, 4 Nov 2015 10:24:51 +0000 (11:24 +0100)]
[SMPI] Renamed smpi/async_small_thres to smpi/async_small_thresh
We need a unified naming scheme, and that was particularly easy to fix.
Martin Quinson [Tue, 3 Nov 2015 23:30:26 +0000 (00:30 +0100)]
A sh.exe appeared in appeveyor path, breaking mingw
Martin Quinson [Tue, 3 Nov 2015 23:09:34 +0000 (00:09 +0100)]
Fix out-of-tree builds after
3203ed1, sorry
(fix #32)
Christian Heinrich [Sat, 31 Oct 2015 19:33:48 +0000 (20:33 +0100)]
[Gitignore] Blacklist mpich3-test binaries
Martin Quinson [Tue, 3 Nov 2015 08:44:31 +0000 (09:44 +0100)]
fix an easy fixme
Martin Quinson [Tue, 3 Nov 2015 00:11:30 +0000 (01:11 +0100)]
[cmake] all java stuff in the same place
Martin Quinson [Mon, 2 Nov 2015 23:50:46 +0000 (00:50 +0100)]
[cmake] recompile with swig if the executable is found
It used to be controled by the maintainer_mode option, but this is
stupid. That option should die (along with flexml, probably).
Martin Quinson [Mon, 2 Nov 2015 17:55:08 +0000 (18:55 +0100)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid