Arnaud Giersch [Mon, 22 Mar 2021 10:08:56 +0000 (11:08 +0100)]
Reduce scope for variables.
Arnaud Giersch [Sat, 20 Mar 2021 20:28:40 +0000 (21:28 +0100)]
ActivityImpl::register_simcall does not need to be 'virtual'.
Arnaud Giersch [Sat, 20 Mar 2021 17:45:38 +0000 (18:45 +0100)]
Factor un-registration of simcall.
Arnaud Giersch [Fri, 19 Mar 2021 23:03:38 +0000 (00:03 +0100)]
Make SIMIX_comm_copy_data_callback a member of CommImpl.
Arnaud Giersch [Fri, 19 Mar 2021 23:00:58 +0000 (00:00 +0100)]
Make fields private.
Arnaud Giersch [Fri, 19 Mar 2021 22:58:27 +0000 (23:58 +0100)]
Cosmetics (redundant version number).
Augustin Degomme [Sun, 21 Mar 2021 00:22:27 +0000 (01:22 +0100)]
This is the index, we want the rank for the underlying iprobe.
Augustin Degomme [Sat, 20 Mar 2021 23:09:01 +0000 (00:09 +0100)]
extraneous chars
Augustin Degomme [Sat, 20 Mar 2021 23:08:22 +0000 (00:08 +0100)]
status can actually be MPI_STATUS_IGNORE
Martin Quinson [Sat, 20 Mar 2021 21:54:34 +0000 (22:54 +0100)]
Add ModelChecker::finalize_app(), but don't use it as it don't work yet
Martin Quinson [Sat, 20 Mar 2021 21:45:14 +0000 (22:45 +0100)]
some symbol renamings to make MC easier to understand (to me)
Arnaud Giersch [Fri, 19 Mar 2021 14:48:01 +0000 (15:48 +0100)]
.mailmap
Arnaud Giersch [Fri, 19 Mar 2021 14:03:24 +0000 (15:03 +0100)]
Make Time::date const; kill useless getter.
Arnaud Giersch [Fri, 19 Mar 2021 13:48:14 +0000 (14:48 +0100)]
Make fields private; define getters.
Arnaud Giersch [Fri, 19 Mar 2021 13:14:47 +0000 (14:14 +0100)]
Make Datatype::contents_ a private std::unique_ptr.
Arnaud Giersch [Fri, 19 Mar 2021 12:27:31 +0000 (13:27 +0100)]
Don't mix public and private fields (sonar).
Arnaud Giersch [Fri, 19 Mar 2021 10:35:38 +0000 (11:35 +0100)]
Factorize handling of asynchronous receives.
Apply the same changes to both the C and C++ examples.
Arnaud Giersch [Fri, 19 Mar 2021 10:08:35 +0000 (11:08 +0100)]
Unnecessary 'else'.
Arnaud Giersch [Fri, 19 Mar 2021 09:36:36 +0000 (10:36 +0100)]
Make cast explicit.
Arnaud Giersch [Fri, 19 Mar 2021 09:34:59 +0000 (10:34 +0100)]
Reduce scope for variables.
SUTER Frederic [Fri, 19 Mar 2021 08:48:27 +0000 (09:48 +0100)]
really set link latency for ns3
SUTER Frederic [Thu, 18 Mar 2021 18:26:03 +0000 (19:26 +0100)]
privatize fields of ClusterZone + more explicit methods
Augustin Degomme [Fri, 19 Mar 2021 00:35:36 +0000 (01:35 +0100)]
add tesh file to dist
Martin Quinson [Fri, 19 Mar 2021 00:08:04 +0000 (01:08 +0100)]
Fix clang builds
Martin Quinson [Thu, 18 Mar 2021 23:55:35 +0000 (00:55 +0100)]
Reorder the headers to ensure that ours are actually self-contained
Martin Quinson [Thu, 18 Mar 2021 13:13:08 +0000 (14:13 +0100)]
test with leaks: no printf, and run also in MC (that is currently wrong)
Currently, the MC test ensures that we still don't detect the leaks,
but I don't want to break the builds while I'm working on this.
Martin Quinson [Tue, 16 Mar 2021 01:10:43 +0000 (02:10 +0100)]
Fix non-MC builds
Martin Quinson [Tue, 16 Mar 2021 00:14:22 +0000 (01:14 +0100)]
simcall.py: this parameter is not a field, respect our coding conventions
Martin Quinson [Mon, 15 Mar 2021 22:29:30 +0000 (23:29 +0100)]
Add a tests-mc target to rebuild only what's needed to run the MC tests
Probably mostly useful to me, but hell, that's really useful :)
Arnaud Giersch [Thu, 18 Mar 2021 08:29:58 +0000 (09:29 +0100)]
Modernize simcall execution_waitany_for.
Arnaud Giersch [Wed, 17 Mar 2021 21:49:08 +0000 (22:49 +0100)]
Implement simcall_HANDLER_execution_waitany_for into ExecImpl::wait_any_for.
Arnaud Giersch [Wed, 17 Mar 2021 21:47:10 +0000 (22:47 +0100)]
Make simcall execution_waitany_for use a std::vector internally.
Arnaud Giersch [Wed, 17 Mar 2021 22:49:39 +0000 (23:49 +0100)]
Use functions from ActorImpl when available.
Arnaud Giersch [Wed, 17 Mar 2021 22:45:43 +0000 (23:45 +0100)]
Lowercase PID in function name (2/2 - public part).
Changed: sg_actor_get_PID, sg_actor_get_PPID, sg_actor_by_PID
Arnaud Giersch [Wed, 17 Mar 2021 22:33:33 +0000 (23:33 +0100)]
Lowercase PID in function name (1/2 - private part).
Changed: ActorImpl::by_PID
Arnaud Giersch [Wed, 17 Mar 2021 14:37:45 +0000 (15:37 +0100)]
Sonar wants separate declarations.
Arnaud Giersch [Wed, 17 Mar 2021 11:05:06 +0000 (12:05 +0100)]
Fix build with older compilers.
E.g. gcc 6.3 or clang 3.8.
Arnaud Giersch [Wed, 17 Mar 2021 10:09:42 +0000 (11:09 +0100)]
Typos.
Arnaud Giersch [Wed, 17 Mar 2021 10:08:05 +0000 (11:08 +0100)]
Misc sonar smells.
Arnaud Giersch [Wed, 17 Mar 2021 09:15:40 +0000 (10:15 +0100)]
Augment test to cover sem_acquire_timeout.
Also cover sg_sem_would_block and sg_sem_get_capacity.
Arnaud Giersch [Wed, 17 Mar 2021 08:42:13 +0000 (09:42 +0100)]
Oops. Forgot to handle timeout.
We really need a test for that.
SUTER Frederic [Wed, 17 Mar 2021 09:02:08 +0000 (10:02 +0100)]
make update_algorithm optional in model creation. Full is default
Arnaud Giersch [Tue, 16 Mar 2021 21:38:10 +0000 (22:38 +0100)]
Modernize simcall sem_acquire_timeout.
Note: we need a test for that.
Arnaud Giersch [Tue, 16 Mar 2021 21:17:14 +0000 (22:17 +0100)]
Modernize simcall cond_wait_timeout.
Arnaud Giersch [Tue, 16 Mar 2021 13:49:22 +0000 (14:49 +0100)]
Cosmetics: use a meaningful name for parameter.
Bruno Donassolo [Tue, 16 Mar 2021 15:50:33 +0000 (16:50 +0100)]
Initialize CPU model for VMs in init_HL13
cpu_vm model is used by virtual machines only, create it when
initializing the VM model
Arnaud Giersch [Mon, 15 Mar 2021 22:15:23 +0000 (23:15 +0100)]
A blocking simcall does not make sense in kernel mode.
Arnaud Giersch [Mon, 15 Mar 2021 22:15:07 +0000 (23:15 +0100)]
Cosmetics: single "TODO" for less sonar smell.
Arnaud Giersch [Mon, 15 Mar 2021 22:10:45 +0000 (23:10 +0100)]
Make ConditionVariable::~ConditionVariable() private.
This is a followup to commit
222e031aa69b85a660b37e558115375d44ec3f68
"Use ConditionVariable::create() for sg_cond_init()."
Arnaud Giersch [Mon, 15 Mar 2021 22:04:41 +0000 (23:04 +0100)]
Make Semaphore::~Sepmaphore() private.
This is a followup to commit
993a22f9b7f34d3a536bfe6a49a31405461dea5d
"Add SemaphoreImpl::piface_ (mimic MutexImpl)."
Arnaud Giersch [Mon, 15 Mar 2021 21:56:55 +0000 (22:56 +0100)]
Make Mutex::~Mutex() private.
This is a followup to commit
f4e9eed9a710cd589a2ab070348121e9c4c3a861
"Use Mutex::create() for sg_mutex_init()."
Augustin Degomme [Mon, 15 Mar 2021 16:30:48 +0000 (17:30 +0100)]
obviously, this failed for freebsd 13
Augustin Degomme [Mon, 15 Mar 2021 14:38:49 +0000 (15:38 +0100)]
manifest update
Augustin Degomme [Mon, 15 Mar 2021 14:38:20 +0000 (15:38 +0100)]
Teshsuite SMPI : execute from build dir.
Ensure that smpi tests from teshsuite are executed from the build folder and not the source folder, to avoid generating temporary files in source folders which may then stay (test interrupted, crash, wrapper used).
Augustin Degomme [Mon, 15 Mar 2021 09:01:21 +0000 (10:01 +0100)]
exclude intentionally leaking test from asan and valgrind leak checkers
Augustin Degomme [Sun, 14 Mar 2021 23:15:51 +0000 (00:15 +0100)]
try to match types correctly this time
Augustin Degomme [Sun, 14 Mar 2021 23:00:13 +0000 (00:00 +0100)]
that was supposed to be removed now, thanks ubuntu-32 ! You see you are so useful !
Augustin Degomme [Sun, 14 Mar 2021 22:37:51 +0000 (23:37 +0100)]
add a test with an intentional leak for previous feature.
Will probably need to be added to suppressions.. but that will wait tomorrow
Augustin Degomme [Sun, 14 Mar 2021 22:22:20 +0000 (23:22 +0100)]
Add a small allocations counter in SMPI.
With smpi/display-analysis, it can display the total memory allocated by malloc/calloc calls intecepted by SMPI.
It outputs at the end of the simulation the largest one, its address, and the number of times it was called, and hints to use sharing options on it.
To avoid too many globals, and singletons, I used the namespace smpi::utils to regroup all of these analysis tools. Please tell if this is awful C++ :p
Augustin Degomme [Wed, 10 Mar 2021 10:11:46 +0000 (11:11 +0100)]
downgrade message to info level, it's usually not a big issue to have some handles leaking at the end of execution...
Arnaud Giersch [Sun, 14 Mar 2021 19:30:40 +0000 (20:30 +0100)]
Bogus default value for parameter.
It should rather be defined at declaration to be useful.
Arnaud Giersch [Sun, 14 Mar 2021 15:42:33 +0000 (16:42 +0100)]
Pointer-to-const for sonar.
Arnaud Giersch [Sun, 14 Mar 2021 14:00:08 +0000 (15:00 +0100)]
Replace magic number 8.
Martin Quinson [Sun, 14 Mar 2021 20:26:09 +0000 (21:26 +0100)]
Gosh I hate the formating strings when size_t comes to play
Martin Quinson [Sun, 14 Mar 2021 18:23:10 +0000 (19:23 +0100)]
MC gets the addresses of variables it needs from the network (not dwarf)
This way, Dwarf info are only loaded when they are really needed (ie,
when state equality is used or for liveness properties).
Running all MC tests goes from about 70 seconds down to 10 seconds
(there is a liveness test that lasts 10 seconds). The MC tests that do
not need dwarf go from 6 or 8 seconds down to half a second.
I'm not 100% sure, but this commit may introduce a race condition when
SMPI is used with dlopen privatization. The binary is sometimes
removed from disk too early for MC to pick the dwarf informations it
needs. I saw it some times while implementing it and now it seems to
be gone although I did not explicitely fix it. This seem to be tested
by mc-umpire-comm-dup-no-free2 so I'm not sure.
Martin Quinson [Sun, 14 Mar 2021 15:59:21 +0000 (16:59 +0100)]
RemoteProcess: cache the addresses of maxpid, actors and dead_actors
Soon these addresses will be given by the App through the network
instead of retriving them with Dwarf.
Martin Quinson [Sun, 14 Mar 2021 15:15:15 +0000 (16:15 +0100)]
Move the logic retrieving the actor info in the App to RemoteProcess
Martin Quinson [Sun, 14 Mar 2021 14:35:23 +0000 (15:35 +0100)]
Move the logic of Api::get_maxpid() to RemoteProcess where it belongs
Martin Quinson [Sun, 14 Mar 2021 14:09:13 +0000 (15:09 +0100)]
MC: lazily load the dwarf information
Augustin Degomme [Sun, 14 Mar 2021 19:54:27 +0000 (20:54 +0100)]
attempt to fix en issue when timing functions are called before initialization
Martin Quinson [Sun, 14 Mar 2021 02:14:35 +0000 (03:14 +0100)]
Give an explicit name to the session singleton
Martin Quinson [Sun, 14 Mar 2021 02:04:23 +0000 (03:04 +0100)]
Remove more uses of the session global
Martin Quinson [Sun, 14 Mar 2021 01:58:15 +0000 (02:58 +0100)]
cosmetics
Martin Quinson [Sun, 14 Mar 2021 01:48:59 +0000 (02:48 +0100)]
The checker has the session and don't need the API to interact with it
Martin Quinson [Sun, 14 Mar 2021 01:33:01 +0000 (02:33 +0100)]
Inline a function
Martin Quinson [Sun, 14 Mar 2021 01:20:02 +0000 (02:20 +0100)]
Dont pass as a parameter something that is already known as a field of the receiver class :)
Martin Quinson [Sun, 14 Mar 2021 01:11:18 +0000 (02:11 +0100)]
Kill a file that was almost empty
Martin Quinson [Sun, 14 Mar 2021 00:37:42 +0000 (01:37 +0100)]
Kill some use of the mc_model_checker global variable
Martin Quinson [Sun, 14 Mar 2021 00:25:09 +0000 (01:25 +0100)]
The checker now have a reference to the session
Martin Quinson [Sun, 14 Mar 2021 00:08:42 +0000 (01:08 +0100)]
A checker don't need the mc::api to find itself
Martin Quinson [Sun, 14 Mar 2021 00:00:05 +0000 (01:00 +0100)]
Rename model_checker->get_remote_simulation() into model_checker->get_remote_process()
Martin Quinson [Sat, 13 Mar 2021 23:50:31 +0000 (00:50 +0100)]
MC: cosmetics
Martin Quinson [Sat, 13 Mar 2021 23:19:04 +0000 (00:19 +0100)]
Rename mc::RemoteSimulation into mc::RemoteProcess
Martin Quinson [Sat, 13 Mar 2021 23:08:09 +0000 (00:08 +0100)]
MC: simplify initialization and kill api::set_checker()
Martin Quinson [Sat, 13 Mar 2021 22:17:28 +0000 (23:17 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Sat, 13 Mar 2021 21:28:06 +0000 (22:28 +0100)]
getraw is only useful when dealing with boost intrusive pointers
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Duplicate cleanup instructions for jenkins builds in other scripts.
Useful e.g. for cleaning /tmp on node debian-testing.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Add parameter timeout to mc::ConditionWaitSimcall and mc::SemAcquireSimcall.
Prepare the modernization of simcalls cond_wait_timeout and sem_acquire_timeout.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Modernize simcall cond_wait.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Modernize simcall sem_acquire.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Const attributes in SimcallObserver.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Use ConditionVariable::create() for sg_cond_init().
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Rename ConditionVariable::cond_ to pimpl_ for consistency.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Add SemaphoreImpl::piface_ (mimic MutexImpl).
Also make constructor private to enforce usage of create(), and fix bogus destructor.
Like for Mutex, could not manage to make ~Semaphore() private.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Prefer type bool for boolean values.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Mutex::pimpl_ is never null.
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Use Mutex::create() for sg_mutex_init().
Also make constructor private to enforce usage of create(), and fix bogus destructor.
Wanted to make ~Mutex() private, but failed to make it compile :(
Arnaud Giersch [Sat, 13 Mar 2021 21:25:04 +0000 (22:25 +0100)]
Fix include.
Martin Quinson [Sat, 13 Mar 2021 20:42:47 +0000 (21:42 +0100)]
inline simcall_check_dependency() now that it's called only once
Martin Quinson [Sat, 13 Mar 2021 20:34:38 +0000 (21:34 +0100)]
MC: check dependency between 2 given requests only once
The dependency relationship is symmetric but bothersome to write
extensively, so earlier we wrote only half of the relations and called
dep(r1, r2) && dep(r2, r1)
Simplify things by first ensuring that r1 < r2 in alphabetic order and
only call dep(r1, r2).