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.
Augustin Degomme [Sat, 13 Mar 2021 19:06:09 +0000 (19:06 +0000)]
Third broken update for Centos binutils with LTO broken. Ignore all 2.30 for now.
Martin Quinson [Fri, 12 Mar 2021 20:57:19 +0000 (21:57 +0100)]
MC: simix::unmarshal should NEVER be called automatically
- this code is generated automatically, so copy/pasting it away does
not seem to be a robust idea.
- Also prefer failfast tracks with THROW_IMPOSSIBLE to return null
that hides problems that we did not expect.
Martin Quinson [Fri, 12 Mar 2021 18:57:12 +0000 (19:57 +0100)]
cosmetics
Martin Quinson [Thu, 11 Mar 2021 23:03:04 +0000 (00:03 +0100)]
s4u_synchro were renamed to activity in 2015, as far as I remember
Arnaud Giersch [Thu, 11 Mar 2021 18:12:51 +0000 (18:12 +0000)]
Merge branch 'model_types_rework_part1' into 'master'
Model types rework - Part 1
See merge request simgrid/simgrid!54
Bruno Donassolo [Thu, 11 Mar 2021 17:19:38 +0000 (18:19 +0100)]
Initializing SimGrid's model in another way
Preparing the field to change models type to primary/virtual.
To do so, we need another way to set the "default" models in the root
netzone.
For that, we changed the order we created the zone during the XML
parser:
1) Create the netzone object (and set as root netzone if it's the first)
2) Create the simgrid's models (if
2.1) During the initialization of simgrid's models (by the
surf_model_description_t structure), the default models are set in the
root netzone
3) If it's a child netzone, copy models from its father
Probably temporary changes:
- Create setters for each model in the NetZoneImpl. To be reviewed after
we decided where to put the "default" models.
Bruno Donassolo [Thu, 11 Mar 2021 13:51:13 +0000 (14:51 +0100)]
Simple constructor for NetZone's child classes.
Extends the work done in previous commit for other NetZone classes.
Bruno Donassolo [Wed, 10 Mar 2021 18:53:33 +0000 (19:53 +0100)]
NetZoneImpl: simpler constructor
NetZoneImpl(std::string& name);
One step towards a simple contructor and set() idiom.
Removed father and network model from constructor.
Collateral effect:
NetPoint:
- removed NetZoneImpl* from its constructor
- added method set_englobing_zone(NetZoneImpl*)
In the past, we could create the NetPoint in NetZoneImpl with the
pointer to the father. But now, the father is only set latter at
set_father method.
Bruno Donassolo [Thu, 25 Feb 2021 17:33:36 +0000 (18:33 +0100)]
NetZoneImpl: rework seal
Create a do_seal that can be rewritten by derived classes
Assure that flag sealed_ is sealed properly when derived classes
override the seal() method.
Martin Quinson [Thu, 11 Mar 2021 16:13:33 +0000 (17:13 +0100)]
Merge pull request #374 from adegomme/master
try to handle inconsistencies in github environments.
adegomme [Thu, 11 Mar 2021 15:50:49 +0000 (16:50 +0100)]
sometimes, it's still there...
Arnaud Giersch [Thu, 11 Mar 2021 14:23:01 +0000 (15:23 +0100)]
[sonar] Move explaining comment inside body of empty function.
Arnaud Giersch [Thu, 11 Mar 2021 14:17:21 +0000 (15:17 +0100)]
[sonar] Use '=default'.
Arnaud Giersch [Thu, 11 Mar 2021 14:10:07 +0000 (15:10 +0100)]
[sonar] Declare functions 'const'.
Arnaud Giersch [Thu, 11 Mar 2021 14:07:15 +0000 (15:07 +0100)]
[sonar] Use :: to call static member functions.
Arnaud Giersch [Thu, 11 Mar 2021 13:51:12 +0000 (14:51 +0100)]
[sonar] Pointer to const.
Arnaud Giersch [Thu, 11 Mar 2021 13:49:45 +0000 (14:49 +0100)]
[sonar] Favor using-declarations.
Martin Quinson [Thu, 11 Mar 2021 13:59:17 +0000 (14:59 +0100)]
Merge pull request #373 from adegomme/master
fix jar creation github action, and add weekly build
adegomme [Thu, 11 Mar 2021 13:54:15 +0000 (14:54 +0100)]
add weekly build at 6:00pm sundays
adegomme [Thu, 11 Mar 2021 13:28:19 +0000 (14:28 +0100)]
try to put back boost on windows
https://github.com/actions/virtual-environments/issues/2667
adegomme [Thu, 11 Mar 2021 12:56:58 +0000 (13:56 +0100)]
temporary attempt to workaround scoop bug
https://github.com/ScoopInstall er/Main/issues/1752
Martin Quinson [Thu, 11 Mar 2021 09:58:26 +0000 (10:58 +0100)]
Remove useless default destructor definitions
Martin Quinson [Wed, 10 Mar 2021 20:13:30 +0000 (21:13 +0100)]
Two small sonar fixes
- dead stores
- default destructor should not even be written
Martin Quinson [Tue, 9 Mar 2021 15:34:31 +0000 (16:34 +0100)]
Document direct communications, deprecate Host::sendto() because Comm::sendto() is better for that
Augustin Degomme [Wed, 10 Mar 2021 19:03:04 +0000 (20:03 +0100)]
implement MPI_File_set_size
Arnaud Giersch [Wed, 10 Mar 2021 17:11:00 +0000 (17:11 +0000)]
Merge branch 's4u/model_list' into 'master'
s4u Engine: expose get_all_models, get_model_list
See merge request simgrid/simgrid!53
Arnaud Giersch [Wed, 10 Mar 2021 16:52:05 +0000 (16:52 +0000)]
Merge branch 'unify_models' into 'master'
Unify treatment of models in the EngineImpl
See merge request simgrid/simgrid!52
Bruno Donassolo [Wed, 10 Mar 2021 14:09:35 +0000 (15:09 +0100)]
Uniform treatment in EngineImpl for all models.
Override the update_action_state function in CPUL07 and LinkL07, they
are not necessary since the actions are updated by the HostL07Model, but
they allow to make the same treatment for all models.
Bruno Donassolo [Wed, 10 Mar 2021 14:05:45 +0000 (15:05 +0100)]
Improv comment
Bruno Donassolo [Wed, 10 Mar 2021 14:04:57 +0000 (15:04 +0100)]
Const for some get functions
msimonin [Wed, 10 Mar 2021 15:40:09 +0000 (16:40 +0100)]
s4u Engine: expose get_all_models, get_model_list
Before
e22da6010c6499813ff88c76041cf499ffbf2b67 the list of models
could be accessed using the global `all_existing_models`
This patch exposes two methods to get the list of models in the
s4u::Engine, they wrap those of `EngineImpl`.
Arnaud Giersch [Wed, 10 Mar 2021 09:40:29 +0000 (10:40 +0100)]
Sonar prefers nullptr.
Arnaud Giersch [Wed, 10 Mar 2021 09:11:29 +0000 (10:11 +0100)]
Cosmetics around #include.
Arnaud Giersch [Wed, 10 Mar 2021 09:09:02 +0000 (10:09 +0100)]
More error messages.
Arnaud Giersch [Wed, 10 Mar 2021 09:08:37 +0000 (10:08 +0100)]
Prefer xbt_assert here.
Arnaud Giersch [Tue, 9 Mar 2021 20:57:32 +0000 (21:57 +0100)]
Update .mailmap.
Arnaud Giersch [Tue, 9 Mar 2021 14:36:05 +0000 (15:36 +0100)]
Merge oberver classes MutexTrylockSimcall and MutexLockSimcall.
Arnaud Giersch [Mon, 8 Mar 2021 13:55:22 +0000 (14:55 +0100)]
Modernize simcall mutex_lock.
Arnaud Giersch [Tue, 9 Mar 2021 14:15:33 +0000 (15:15 +0100)]
Move check from checker side to app. side.
Arnaud Giersch [Tue, 9 Mar 2021 12:03:01 +0000 (13:03 +0100)]
Define (and use) a callback for RawImpl::finish.
Arnaud Giersch [Tue, 9 Mar 2021 08:22:03 +0000 (09:22 +0100)]
Make scan-build ignore volontary null-pointer dereference.
Arnaud Giersch [Tue, 9 Mar 2021 20:14:20 +0000 (21:14 +0100)]
Merge branch 'bruno.donassolo/simgrid-add_model_shared' into next
Augustin Degomme [Tue, 9 Mar 2021 19:18:22 +0000 (20:18 +0100)]
also test with several cores. Let's see how this goes
Bruno Donassolo [Tue, 9 Mar 2021 19:04:53 +0000 (20:04 +0100)]
Engine*::add_model: from unique to shared_ptr
Martin Quinson [Tue, 9 Mar 2021 17:51:28 +0000 (17:51 +0000)]
Merge branch 'hotfix_add_model_api' into 'master'
Hotfix: expose add_model method in s4u::Engine
See merge request simgrid/simgrid!50
Bruno Donassolo [Tue, 9 Mar 2021 17:28:59 +0000 (18:28 +0100)]
Hotfix: expose add_model method in s4u::Engine
Expose the add_model API to external users.
Frederic Suter [Tue, 9 Mar 2021 15:58:08 +0000 (16:58 +0100)]
namespacing
Frederic Suter [Tue, 9 Mar 2021 15:50:46 +0000 (16:50 +0100)]
A canceled Activity is a completed Activity too
Frederic Suter [Tue, 9 Mar 2021 15:46:08 +0000 (16:46 +0100)]
namespacing
Frederic Suter [Tue, 9 Mar 2021 15:43:02 +0000 (16:43 +0100)]
be more uniform on action cleaning accross activities
Frederic Suter [Tue, 9 Mar 2021 15:35:01 +0000 (16:35 +0100)]
Do the same for IoImpl as for ExecImpl when timeout on completion
Frederic Suter [Tue, 9 Mar 2021 15:28:56 +0000 (16:28 +0100)]
user bound is now stored at Action level and not modified by LMM
Then it can be passed from old to new action when migrating the Exec
Frederic Suter [Tue, 9 Mar 2021 15:27:02 +0000 (16:27 +0100)]
Allow failure detection for parallel exec
change nothing when hosts has size 1. use std::any_of for multiple hosts
Martin Quinson [Tue, 9 Mar 2021 15:02:50 +0000 (15:02 +0000)]
Merge branch 'multi_models_no_globals' into 'master'
Refactoring: remove surf_*_model globals
See merge request simgrid/simgrid!49
Bruno Donassolo [Tue, 9 Mar 2021 13:31:56 +0000 (14:31 +0100)]
Move globals to EngineImpl
A step forwards encapsulation.
Still not good for ptask model and its particularities.
Bruno Donassolo [Thu, 4 Mar 2021 16:49:25 +0000 (17:49 +0100)]
Say goodbye to last global: surf_host_model
- By now, add the host_model in netZone too
- Probably need some check when running parallel_execute in a list of
hosts (all belongs to same model/netzone?)
Bruno Donassolo [Thu, 4 Mar 2021 16:31:25 +0000 (17:31 +0100)]
clang-format: ExecImpl.cpp and sd_task.cpp
Bruno Donassolo [Thu, 4 Mar 2021 14:52:10 +0000 (15:52 +0100)]
surf_disk_model: remove it.
- Add disk_model to NetZone as done for network and cpu models
- Add create_disk method in NetZone too: keep interface uniform
Bruno Donassolo [Thu, 4 Mar 2021 14:51:25 +0000 (15:51 +0100)]
s4u_Host.cpp: clang-format
Bruno Donassolo [Thu, 4 Mar 2021 14:08:53 +0000 (15:08 +0100)]
Adjust code after rebase.
surf_network_model doesn't exist anymore
Bruno Donassolo [Thu, 4 Mar 2021 13:15:23 +0000 (14:15 +0100)]
surf_cpu_model_pm: remove global
Bruno Donassolo [Thu, 4 Mar 2021 10:41:49 +0000 (11:41 +0100)]
Get rid of surf_cpu_model_vm.
- Add cpu_model_vm to NetZoneImpl. By now, it gets the global pointer in
models_by_type if available
- Separate CPU in CPU_PM and CPU_VM.
- Move next_occurring_event call to CPU_VM models to surf_solve. One step
closer to centralizing the models management
Bruno Donassolo [Thu, 4 Mar 2021 09:49:51 +0000 (10:49 +0100)]
NetZoneImpl::network_model_: get() and private object
Bruno Donassolo [Wed, 3 Mar 2021 10:43:23 +0000 (11:43 +0100)]
Getting rid off surf_network_model global
Adapt network model initialization to remove surf_network_model
occurrences.
Bruno Donassolo [Tue, 2 Mar 2021 17:41:44 +0000 (18:41 +0100)]
Remove surf_network_model from host_clm03.
surf_solve concentrates all the next_occurring_event calls.
Get network_model from zone of source host in communications
Bruno Donassolo [Tue, 2 Mar 2021 09:11:35 +0000 (10:11 +0100)]
Remove last entry from surf_solve to surf_network_model.
Improv doc.
Bruno Donassolo [Mon, 1 Mar 2021 19:42:46 +0000 (20:42 +0100)]
Modify iteration over models in surf_solve
Added a map with the different models initialized to iterate in
surf_solve function.
Extra: clang-format
Bruno Donassolo [Mon, 1 Mar 2021 18:20:22 +0000 (19:20 +0100)]
Avoid using surf_network_model global
Get network model from NetZoneImpl instead of using the global.
First step to remove global model variables.
Extra: clang-format modified files.
Bruno Donassolo [Tue, 2 Mar 2021 17:50:41 +0000 (18:50 +0100)]
clang-format before starting changing files
Frederic Suter [Tue, 9 Mar 2021 13:55:51 +0000 (14:55 +0100)]
propagate the user bound down to the action
Frederic Suter [Tue, 9 Mar 2021 13:46:24 +0000 (14:46 +0100)]
mv NetworkAction::rate_ to Action::user_bound_
Frederic Suter [Tue, 9 Mar 2021 10:19:52 +0000 (11:19 +0100)]
cosmetics
Frederic Suter [Tue, 9 Mar 2021 09:17:56 +0000 (10:17 +0100)]
extend example to include a ptask with timeout
Martin Quinson [Mon, 8 Mar 2021 23:53:42 +0000 (00:53 +0100)]
Split the {TEST,WAIT}ANY translation away from MC_state_choose_request_for_process
Martin Quinson [Mon, 8 Mar 2021 23:41:55 +0000 (00:41 +0100)]
Prepare to split the {TEST,WAIT}ANY translation away from MC_state_choose_request_for_process
Frederic Suter [Mon, 8 Mar 2021 21:54:49 +0000 (22:54 +0100)]
fix GH#343
- An exec that ends right when the timeout expires is actually done
- when the timeout_detector finished, change the state of the action of
the ExecImpl that owns this detector to FAILED. This will trigger
on_state_change for the right action and solve the issue on energy
logging of this issue.
- Side effect, more instrumentation is displayed in another example of
a ptask with timeout.
Frederic Suter [Mon, 8 Mar 2021 18:44:32 +0000 (19:44 +0100)]
trigger Host::on_creation a bit earlier
Martin Quinson [Mon, 8 Mar 2021 21:38:29 +0000 (22:38 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid
Arnaud Giersch [Fri, 5 Mar 2021 22:44:33 +0000 (23:44 +0100)]
Modernize simcall mutex_trylock.
Arnaud Giersch [Mon, 8 Mar 2021 13:20:25 +0000 (14:20 +0100)]
Fix deprecation message.
Arnaud Giersch [Mon, 8 Mar 2021 09:18:38 +0000 (10:18 +0100)]
Sonar wants one declaration per line.
Arnaud Giersch [Sun, 7 Mar 2021 17:26:16 +0000 (18:26 +0100)]
Don't adjust variable name each time Api::get_maxpid() is called.
Arnaud Giersch [Sun, 7 Mar 2021 17:06:23 +0000 (18:06 +0100)]
Cache result of Api::get_maxpid() when used multiple times.
Arnaud Giersch [Mon, 8 Mar 2021 15:22:43 +0000 (16:22 +0100)]
Minor reindent.
Arnaud Giersch [Sun, 7 Mar 2021 21:45:32 +0000 (22:45 +0100)]
Typo.
Arnaud Giersch [Sun, 7 Mar 2021 13:58:09 +0000 (14:58 +0100)]
Useless braces.
Arnaud Giersch [Sun, 7 Mar 2021 14:36:25 +0000 (15:36 +0100)]
Add 'explicit'.
Arnaud Giersch [Mon, 8 Mar 2021 20:49:33 +0000 (21:49 +0100)]
Remove useless declaration of default destructor.
Remove public destructors defined '=default' at declaration, unless
they are virtual and the enclosing class is derived somewhere.
Martin Quinson [Mon, 8 Mar 2021 19:51:01 +0000 (20:51 +0100)]
That was a nasty optimization :-/
Frederic Suter [Mon, 8 Mar 2021 17:24:05 +0000 (18:24 +0100)]
new example with ptasks on multi-core hosts
Martin Quinson [Mon, 8 Mar 2021 16:24:52 +0000 (17:24 +0100)]
MC dependency: do the easy test before the harder one
Martin Quinson [Mon, 8 Mar 2021 16:17:37 +0000 (17:17 +0100)]
Use less of state->internal_req_ and more of state->executed_req_
The idea is to soon kill internal_req and have the dependency checking
do the conversion WAITANY -> WAIT and TESTANY -> TEST on its own.
Frederic Suter [Mon, 8 Mar 2021 16:08:13 +0000 (17:08 +0100)]
continue to fluentify Cpu creation. Fix FG37 on the way