|
SimGrid
3.13
Versatile Simulation of Distributed Systems
|
A CpuAction represents the execution of code on one or several Cpus. More...
#include <cpu_interface.hpp>
Public Member Functions | |
| CpuAction (simgrid::surf::Model *model, double cost, bool failed) | |
| CpuAction (simgrid::surf::Model *model, double cost, bool failed, lmm_variable_t var) | |
| virtual void | setAffinity (Cpu *cpu, unsigned long mask) |
| Set the affinity of the current CpuAction. More... | |
| void | setState (simgrid::surf::Action::State state) override |
| Set the state of the current Action. More... | |
| void | updateRemainingLazy (double now) override |
| std::list< Cpu * > | cpus () |
Public Member Functions inherited from simgrid::surf::Action | |
| Action (simgrid::surf::Model *model, double cost, bool failed) | |
| Action constructor. More... | |
| Action (simgrid::surf::Model *model, double cost, bool failed, lmm_variable_t var) | |
| Action constructor. More... | |
| virtual | ~Action () |
| Destructor. More... | |
| void | finish () |
| Mark that the action is now finished. More... | |
| Action::State | getState () |
| Get the state of the current Action. More... | |
| double | getBound () |
| Get the bound of the current Action. More... | |
| void | setBound (double bound) |
| Set the bound of the current Action. More... | |
| double | getStartTime () |
| Get the start time of the current action. More... | |
| double | getFinishTime () |
| Get the finish time of the current action. More... | |
| void * | getData () |
| Get the user data associated to the current action. More... | |
| void | setData (void *data) |
| Set the user data associated to the current action. More... | |
| double | getCost () |
| Get the cost of the current action. More... | |
| void | setCost (double cost) |
| Set the cost of the current action. More... | |
| void | updateMaxDuration (double delta) |
| Update the maximum duration of the current action. More... | |
| void | updateRemains (double delta) |
| Update the remaining time of the current action. More... | |
| void | setRemains (double value) |
| Set the remaining time of the current action. More... | |
| virtual double | getRemains () |
| Get the remaining time of the current action after updating the resource. More... | |
| double | getRemainsNoUpdate () |
| Get the remaining time of the current action without updating the resource. More... | |
| void | setFinishTime (double value) |
| Set the finish time of the current action. More... | |
| void | ref () |
| Add a reference to the current action (refcounting) More... | |
| virtual int | unref () |
| Unref that action (and destroy it if refcount reaches 0) More... | |
| virtual void | cancel () |
| Cancel the current Action if running. More... | |
| virtual void | suspend () |
| Suspend the current Action. More... | |
| virtual void | resume () |
| Resume the current Action. More... | |
| virtual bool | isSuspended () |
| Returns true if the current action is running. More... | |
| double | getMaxDuration () |
| Get the maximum duration of the current action. More... | |
| virtual void | setMaxDuration (double duration) |
| Set the maximum duration of the current Action. More... | |
| char * | getCategory () |
| Get the tracing category associated to the current action. More... | |
| void | setCategory (const char *category) |
| Set the tracing category of the current Action. More... | |
| double | getPriority () |
| Get the priority of the current Action. More... | |
| virtual void | setPriority (double priority) |
| Set the priority of the current Action. More... | |
| ActionList * | getStateSet () |
| Get the state set in which the action is. More... | |
| simgrid::surf::Model * | getModel () |
| void | heapInsert (xbt_heap_t heap, double key, enum heap_action_type hat) |
| void | heapRemove (xbt_heap_t heap) |
| void | heapUpdate (xbt_heap_t heap, double key, enum heap_action_type hat) |
| void | updateIndexHeap (int i) |
| lmm_variable_t | getVariable () |
| double | getLastUpdate () |
| void | refreshLastUpdate () |
| enum heap_action_type | getHat () |
| bool | is_linked () |
| void | gapRemove () |
Static Public Attributes | |
| static simgrid::xbt::signal< void(simgrid::surf::CpuAction *, simgrid::surf::Action::State)> | onStateChange |
| Callbacks handler which emit the callbacks after CpuAction State changed *. More... | |
Friends | |
| Cpu * | getActionCpu (CpuAction *action) |
Additional Inherited Members | |
Public Types inherited from simgrid::surf::Action | |
| enum | State { State::ready = 0, State::running, State::failed, State::done, State::to_free, State::not_in_the_system } |
| typedef boost::intrusive::member_hook< Action, boost::intrusive::list_member_hook<>,&Action::action_hook > | ActionOptions |
| typedef boost::intrusive::list< Action, ActionOptions > | ActionList |
Public Attributes inherited from simgrid::surf::Action | |
| boost::intrusive::list_member_hook | action_hook |
| boost::intrusive::list_member_hook | action_lmm_hook |
| s_xbt_swag_hookup_t | stateHookup_ = {NULL,NULL} |
Protected Attributes inherited from simgrid::surf::Action | |
| ActionList * | stateSet_ |
| double | priority_ = 1.0 |
| priority (1.0 by default) More... | |
| int | refcount_ = 1 |
| double | remains_ |
| How much of that cost remains to be done in the currently running task. More... | |
| double | maxDuration_ = NO_MAX_DURATION |
| double | finishTime_ = -1 |
| finish time : this is modified during the run and fluctuates until the task is completed More... | |
| lmm_variable_t | variable_ = nullptr |
| double | lastValue_ = 0 |
| double | lastUpdate_ = 0 |
| int | suspended_ = 0 |
| int | indexHeap_ |
| enum heap_action_type | hat_ = NOTSET |
A CpuAction represents the execution of code on one or several Cpus.
|
inline |
|
inline |
Set the affinity of the current CpuAction.
Reimplemented in simgrid::surf::CpuTiAction.
|
overridevirtual |
Set the state of the current Action.
Reimplemented from simgrid::surf::Action.
Reimplemented in simgrid::surf::CpuTiAction.
|
overridevirtual |
Reimplemented from simgrid::surf::Action.
| std::list< Cpu * > simgrid::surf::CpuAction::cpus | ( | ) |
|
static |
Callbacks handler which emit the callbacks after CpuAction State changed *.
Callback functions have the following signature: void(CpuAction *action, simgrid::surf::Action::State previous)