Martin Quinson [Sun, 6 Nov 2022 00:17:57 +0000 (01:17 +0100)]
setter function only need a simcall in MC or with parallel execs
This change introduce a new kind of simcalls alongside
simcall_answered and simcall_blocking: simcall_run_object_access that
is dedicated to object setter functions.
This is an answered simcall if running in // or in MC, and just a
regular function call if runnning a plain simulation.
This may speed up large simulations with a huge amount of activities,
but the perf improvement is not evaluated yet.
The performance could be further improved with a SIMGRID_HAVE_PARALLEL
option allowing the compiler to know beforhand that the simcall branch
will never be taken. But such an option would require to be tested and
I'm too lazy for that.
Martin Quinson [Sat, 5 Nov 2022 19:04:43 +0000 (20:04 +0100)]
Allow the MC replay to use the 'zero' buffering
Martin Quinson [Sat, 5 Nov 2022 18:59:49 +0000 (19:59 +0100)]
Do not MC_assert on failed xbt_assert, it's too shaky
I'll handle it from the MC side instead
Martin Quinson [Fri, 4 Nov 2022 23:50:14 +0000 (00:50 +0100)]
Move a function to the right file and other cleanups
Martin Quinson [Fri, 4 Nov 2022 23:44:25 +0000 (00:44 +0100)]
Kill a now unused field
Martin Quinson [Fri, 4 Nov 2022 23:23:35 +0000 (00:23 +0100)]
Reduce the amount of header files loading xbt/string.hpp
Prefer to load this file from the source files (as usual) to reduce
the amount of files to be rebuilt when this file changes.
Martin Quinson [Fri, 4 Nov 2022 22:37:27 +0000 (23:37 +0100)]
Kill the now useless type xbt::string
Fred Suter [Fri, 4 Nov 2022 12:26:40 +0000 (08:26 -0400)]
another attempt to avoid deadlocks in wrench when using sio host model
Fred Suter [Fri, 4 Nov 2022 12:00:34 +0000 (08:00 -0400)]
typo
Fred Suter [Fri, 4 Nov 2022 01:50:46 +0000 (21:50 -0400)]
fix deadlock found by hcasanova in case of self communications
Fred Suter [Thu, 3 Nov 2022 21:29:23 +0000 (17:29 -0400)]
complexify the test a bit further
Arnaud Giersch [Thu, 3 Nov 2022 09:05:57 +0000 (10:05 +0100)]
Reuse existing variable, and shorten conditional.
Arnaud Giersch [Wed, 2 Nov 2022 22:33:20 +0000 (23:33 +0100)]
Don't call function with side effect twice in the same expression.
The evaluation order is undecided and may give different results (e.g. using clang vs. gcc).
Arnaud Giersch [Wed, 2 Nov 2022 22:12:50 +0000 (23:12 +0100)]
Update random-bug-nocrash.tesh after last changes.
Arnaud Giersch [Wed, 2 Nov 2022 19:52:05 +0000 (20:52 +0100)]
Variable is declared in xbt/asserts.h.
Arnaud Giersch [Wed, 2 Nov 2022 19:51:13 +0000 (20:51 +0100)]
Spurious #include.
Martin Quinson [Tue, 1 Nov 2022 22:55:04 +0000 (23:55 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Tue, 1 Nov 2022 22:54:56 +0000 (23:54 +0100)]
Display the mailbox name when showing a deadlocking situation
Martin Quinson [Tue, 1 Nov 2022 21:29:27 +0000 (22:29 +0100)]
MC: display the status of all actors in case of deadlock
Martin Quinson [Tue, 1 Nov 2022 21:16:35 +0000 (22:16 +0100)]
MC: tell the user about how to use the replay path in case of problem
Martin Quinson [Tue, 1 Nov 2022 18:39:55 +0000 (19:39 +0100)]
Display the stack of each actor during a MC replay (unless --log=no_log for the tests)
Fred Suter [Tue, 1 Nov 2022 13:15:57 +0000 (13:15 +0000)]
Merge branch 'fluidio' into 'master'
Fluidio
See merge request simgrid/simgrid!121
Fred Suter [Tue, 1 Nov 2022 13:04:18 +0000 (09:04 -0400)]
fix issues spotted by agriersch
Martin Quinson [Mon, 31 Oct 2022 23:35:54 +0000 (00:35 +0100)]
MC replay: check whether there is a deadlock after running the trace
Martin Quinson [Mon, 31 Oct 2022 23:25:43 +0000 (00:25 +0100)]
Align the behavior of MC and MC_replay in SMPI, so that replay actually works
+ improved debug messages
Martin Quinson [Mon, 31 Oct 2022 21:41:10 +0000 (22:41 +0100)]
Be more verbose on the blocking transition when displaying the actor state on Ctrl-C
Fred Suter [Mon, 31 Oct 2022 14:34:58 +0000 (10:34 -0400)]
extend test
Fred Suter [Mon, 31 Oct 2022 14:33:21 +0000 (10:33 -0400)]
plug leak and more consistency with other models
Martin Quinson [Sun, 30 Oct 2022 23:27:14 +0000 (00:27 +0100)]
MC_replay: Ensure that times_considered is always set
+ small cosmetics while reading again that code
Martin Quinson [Tue, 25 Oct 2022 22:28:43 +0000 (00:28 +0200)]
MBI: display the expected diagnostic on error
Fred Suter [Fri, 28 Oct 2022 18:51:20 +0000 (14:51 -0400)]
check that disk has been given as argument before accessing its pimpl
Fred Suter [Fri, 28 Oct 2022 15:23:12 +0000 (11:23 -0400)]
add a transfer bottleneck case
Fred Suter [Fri, 28 Oct 2022 11:48:13 +0000 (07:48 -0400)]
revalidate tesh
Fred Suter [Fri, 28 Oct 2022 11:39:12 +0000 (07:39 -0400)]
update
Fred Suter [Fri, 28 Oct 2022 11:38:47 +0000 (07:38 -0400)]
add example
Fred Suter [Fri, 28 Oct 2022 11:36:22 +0000 (07:36 -0400)]
introduce s4u::Io::streamto
Fred Suter [Fri, 28 Oct 2022 11:36:11 +0000 (07:36 -0400)]
fixes
Fred Suter [Thu, 27 Oct 2022 12:59:09 +0000 (08:59 -0400)]
easier to store and use DiskImpl at kernel level
Fred Suter [Thu, 27 Oct 2022 12:31:05 +0000 (08:31 -0400)]
typo spotted by Henri during a call
Fred Suter [Thu, 27 Oct 2022 12:29:45 +0000 (08:29 -0400)]
add io_stream as a HostModel pure method
Fred Suter [Tue, 25 Oct 2022 13:16:34 +0000 (09:16 -0400)]
first attempt to fluid comm/IO model
Fred Suter [Fri, 21 Oct 2022 18:17:48 +0000 (14:17 -0400)]
move update_remains_lazy to the pimpl (as for CPUs)
Fred Suter [Wed, 19 Oct 2022 16:20:10 +0000 (12:20 -0400)]
simplify the way I/O actions are created (CPU style)
Fred Suter [Tue, 18 Oct 2022 12:50:28 +0000 (08:50 -0400)]
Have the disk model be part of the host models
Fred Suter [Tue, 18 Oct 2022 12:34:39 +0000 (08:34 -0400)]
mention disk model in host model descriptions
Fred Suter [Tue, 18 Oct 2022 12:29:54 +0000 (08:29 -0400)]
rename disk model init function: default is S19
Arnaud Giersch [Fri, 28 Oct 2022 09:09:15 +0000 (11:09 +0200)]
More functions declared "const" (Sonar).
Arnaud Giersch [Thu, 27 Oct 2022 11:57:41 +0000 (13:57 +0200)]
Declare functions "const" (Sonar).
Arnaud Giersch [Thu, 27 Oct 2022 11:50:11 +0000 (13:50 +0200)]
Fix infinite recursion.
Arnaud Giersch [Thu, 27 Oct 2022 11:40:12 +0000 (13:40 +0200)]
Use true/false for boolean variable (Sonar).
Arnaud Giersch [Thu, 27 Oct 2022 11:23:40 +0000 (13:23 +0200)]
Remove redundant cast (Sonar).
Arnaud Giersch [Thu, 27 Oct 2022 11:22:31 +0000 (13:22 +0200)]
Fix stack-use-after-scope (ASan).
Arnaud Giersch [Thu, 27 Oct 2022 11:21:32 +0000 (13:21 +0200)]
Cosmetics.
Fred Suter [Wed, 26 Oct 2022 18:54:34 +0000 (14:54 -0400)]
[ci-skip] end of the pass
Fred Suter [Tue, 25 Oct 2022 16:04:09 +0000 (12:04 -0400)]
start a pass on that part of the doc
Martin Quinson [Tue, 25 Oct 2022 13:21:23 +0000 (15:21 +0200)]
More x -> varrho in the doc
Martin Quinson [Tue, 25 Oct 2022 13:05:49 +0000 (15:05 +0200)]
Try to make the abort() inconditionnal in failed xbt_assert, to please the checkers
Martin Quinson [Tue, 25 Oct 2022 13:04:27 +0000 (15:04 +0200)]
Add a ref to the disk paper
Martin Quinson [Tue, 25 Oct 2022 12:53:55 +0000 (14:53 +0200)]
Arnaud prefers ϱ to x (+depict the simulated platform)
Martin Quinson [Tue, 25 Oct 2022 12:03:19 +0000 (14:03 +0200)]
Merge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Tue, 25 Oct 2022 12:01:49 +0000 (14:01 +0200)]
Draft a first version of the Models chapter in the doc
Arnaud Legrand [Tue, 25 Oct 2022 06:16:39 +0000 (08:16 +0200)]
Cosmetics
Martin Quinson [Mon, 24 Oct 2022 07:01:22 +0000 (09:01 +0200)]
doc: link to some more existing examples
Arnaud Legrand [Mon, 24 Oct 2022 11:19:15 +0000 (13:19 +0200)]
Minor rewording
Martin Quinson [Mon, 24 Oct 2022 06:35:44 +0000 (08:35 +0200)]
Fix non-smpi builds
Martin Quinson [Sun, 23 Oct 2022 22:53:48 +0000 (00:53 +0200)]
Make the factor callbacks private in NetworkModelFactors
Martin Quinson [Sun, 23 Oct 2022 22:23:27 +0000 (00:23 +0200)]
Move get_{bandwidth,latency}_factor to the NetworkModelFactors trait
Martin Quinson [Sun, 23 Oct 2022 22:12:01 +0000 (00:12 +0200)]
Cleanups. Kill useless code
- Kill check_lat_factor_cb() and check_bw_factor_cb(): Now cleanly in NetworkModelFactors
- Kill the NetworkSmpiModel type: useless and empty
- Kill files network_smpi.[ch]pp: empty
Martin Quinson [Sun, 23 Oct 2022 21:55:51 +0000 (23:55 +0200)]
Rename NetworkModelIntf into NetworkModelFactors
Martin Quinson [Sun, 23 Oct 2022 20:40:57 +0000 (22:40 +0200)]
Move set_lat_factor_cb and friends to NetworkModelFactors
Martin Quinson [Sun, 23 Oct 2022 20:08:48 +0000 (22:08 +0200)]
Change public NetworkModelIntf.hpp into private NetworkModelFactors.hpp
- This will soon become a Trait dedicated to the handling of factors
Martin Quinson [Sun, 23 Oct 2022 19:57:59 +0000 (21:57 +0200)]
Allow to set the network factors callback from userland w/o relying on NetworkModelIntf
- this file is soon private, as the other kernel headers
- this was missing a simcall anyway
Martin Quinson [Sun, 23 Oct 2022 14:46:56 +0000 (16:46 +0200)]
Move FactorSet from smpi::utils to kernel::resource
This fixes non-SMPI builds.
Also fix clang builds on the way (initializer_list must be given explicitly)
Martin Quinson [Sun, 23 Oct 2022 14:02:09 +0000 (16:02 +0200)]
Rewrite the doc of the bw and latency factors
Martin Quinson [Sun, 23 Oct 2022 09:28:33 +0000 (11:28 +0200)]
Merge network/bandwidth-factor and smpi/bw-factor (and same for latency)
Martin Quinson [Sat, 22 Oct 2022 21:36:36 +0000 (23:36 +0200)]
Hide cfg_latency_factor and bw, and change them into smpi::utils::FactorSet
Martin Quinson [Sat, 22 Oct 2022 20:31:08 +0000 (22:31 +0200)]
Parameters 'network/latency-factor' and bandwidth-factor are now strings parsed manually
This will allow to merge them with their smpi counterparts.
Martin Quinson [Sat, 22 Oct 2022 20:05:48 +0000 (22:05 +0200)]
Also cleanup the network/weight-S parameter
Martin Quinson [Sat, 22 Oct 2022 19:56:37 +0000 (21:56 +0200)]
Cleanups around network/latency-factor. Default latency of Cste model is 1 again
Default latency was accidentally the latency factor of LV_08
Martin Quinson [Sat, 22 Oct 2022 19:15:43 +0000 (21:15 +0200)]
Inline the parse_factor function now that FactorSet is in place
Martin Quinson [Sat, 22 Oct 2022 19:10:50 +0000 (21:10 +0200)]
Reduce the exposition of s_smpi_factor_t
Martin Quinson [Sat, 22 Oct 2022 18:00:12 +0000 (20:00 +0200)]
further refacto smpi_factors to reduce dupplication
Martin Quinson [Sat, 22 Oct 2022 16:59:39 +0000 (18:59 +0200)]
Introduce class simgrid::smpi::utils::FactorSet to reduce code dupplication
Martin Quinson [Sat, 22 Oct 2022 09:34:32 +0000 (11:34 +0200)]
Reduce dupplication around smpi factors
Martin Quinson [Fri, 21 Oct 2022 19:10:15 +0000 (21:10 +0200)]
Kill an unused declaration
Martin Quinson [Fri, 21 Oct 2022 12:51:59 +0000 (14:51 +0200)]
fix the parameter of a strncpy call
Martin Quinson [Fri, 21 Oct 2022 12:51:02 +0000 (14:51 +0200)]
Doc: link another python example (+ typo)
Martin Quinson [Mon, 17 Oct 2022 23:36:14 +0000 (01:36 +0200)]
in MC mode, failed xbt_assert() are reported as MC_assert()s
Arnaud Giersch [Sun, 16 Oct 2022 16:19:13 +0000 (18:19 +0200)]
Remove temporary file [ci-skip]
Martin Quinson [Mon, 17 Oct 2022 20:50:48 +0000 (22:50 +0200)]
Fix non-MC builds that don't have libevent-dev installed
Appveyor and Mac OSx are such systems
Martin Quinson [Sun, 16 Oct 2022 22:27:01 +0000 (00:27 +0200)]
Kill redundent sanity checks
Martin Quinson [Sun, 16 Oct 2022 21:59:01 +0000 (23:59 +0200)]
Don't include simgrid/config.h from simgrid/modelchecker.h so that the later is cheap to load
The functions are now generated in any case, and only do something
when SIMGRID_HAVE_MC is compiled in.
Also:
- kill MC_automaton_new_propositional_symbol() that was never implemented
- kill MC_visited_reduction() that was not used (anymore?)
- Convert _sg_do_model_check to simgrid::mc::cfg_do_model_check
Martin Quinson [Sun, 16 Oct 2022 14:53:27 +0000 (16:53 +0200)]
Deal with PTHREAD_STATIC_INITIALIZER if it behave as in glibc
Martin Quinson [Sun, 16 Oct 2022 10:57:20 +0000 (12:57 +0200)]
Add a sthread+MC example that deadlocks
+ fix make distcheck
Martin Quinson [Sun, 16 Oct 2022 10:42:24 +0000 (12:42 +0200)]
Rename the transitions so that asynchronous ones clearly appear so
Martin Quinson [Sun, 16 Oct 2022 10:11:47 +0000 (12:11 +0200)]
Add a sthread example that works (no deadlock)
Martin Quinson [Sun, 16 Oct 2022 09:54:03 +0000 (11:54 +0200)]
Implement pthread_join in MC mode for sthread
Arnaud Giersch [Fri, 14 Oct 2022 12:05:09 +0000 (14:05 +0200)]
Restore the previous observable behavior.
The value -1 was in fact never returned.
Arnaud Giersch [Fri, 14 Oct 2022 09:35:21 +0000 (11:35 +0200)]
Fix crash with debug logs.
Arnaud Giersch [Thu, 13 Oct 2022 13:01:15 +0000 (15:01 +0200)]
Cosmetics.