|
gem5
v22.0.0.2
|
Public Member Functions | |
| SyncNode () | |
| ~SyncNode () | |
| bool | run (bool same_tick) override |
| Core method to perform a full dist sync. More... | |
| bool | progress (Tick max_req_tick, Tick next_repeat, ReqType do_ckpt, ReqType do_exit, ReqType do_stop_sync) override |
| Callback when the receiver thread gets a sync ack message. More... | |
| void | requestCkpt (ReqType req) override |
| void | requestExit (ReqType req) override |
| void | requestStopSync (ReqType req) override |
| void | serialize (CheckpointOut &cp) const override |
| Serialize an object. More... | |
| void | unserialize (CheckpointIn &cp) override |
| Unserialize an object. More... | |
Public Member Functions inherited from gem5::DistIface::Sync | |
| void | init (Tick start, Tick repeat) |
| Initialize periodic sync params. More... | |
| void | abort () |
| Abort processing an on-going sync event (in case of an error, e.g. More... | |
| void | drainComplete () |
Public Member Functions inherited from gem5::Serializable | |
| Serializable () | |
| virtual | ~Serializable () |
| void | serializeSection (CheckpointOut &cp, const char *name) const |
| Serialize an object into a new section. More... | |
| void | serializeSection (CheckpointOut &cp, const std::string &name) const |
| void | unserializeSection (CheckpointIn &cp, const char *name) |
| Unserialize an a child object. More... | |
| void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Private Attributes | |
| ReqType | needExit |
| Exit requested. More... | |
| ReqType | needCkpt |
| Ckpt requested. More... | |
| ReqType | needStopSync |
| Sync stop requested. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from gem5::Serializable | |
| static const std::string & | currentSection () |
| Gets the fully-qualified name of the active section. More... | |
| static void | generateCheckpointOut (const std::string &cpt_dir, std::ofstream &outstream) |
| Generate a checkpoint file so that the serialization can be routed to it. More... | |
Protected Attributes inherited from gem5::DistIface::Sync | |
| std::mutex | lock |
| The lock to protect access to the Sync object. More... | |
| std::condition_variable | cv |
| Condition variable for the simulation thread to wait on until all receiver threads completes the current global synchronisation. More... | |
| unsigned | waitNum |
| Number of receiver threads that not yet completed the current global synchronisation. More... | |
| bool | doExit |
| Flag is set if exit is permitted upon sync completion. More... | |
| bool | doCkpt |
| Flag is set if taking a ckpt is permitted upon sync completion. More... | |
| bool | doStopSync |
| Flag is set if sync is to stop upon sync completion. More... | |
| Tick | nextRepeat |
| The repeat value for the next periodic sync. More... | |
| Tick | nextAt |
| Tick for the next periodic sync (if the event is not scheduled yet) More... | |
| bool | isAbort |
| Flag is set if the sync is aborted (e.g. More... | |
Definition at line 205 of file dist_iface.hh.
| gem5::DistIface::SyncNode::SyncNode | ( | ) |
Definition at line 112 of file dist_iface.cc.
References gem5::DistHeaderPkt::none.
|
inline |
Definition at line 224 of file dist_iface.hh.
|
overridevirtual |
Callback when the receiver thread gets a sync ack message.
Implements gem5::DistIface::Sync.
Definition at line 243 of file dist_iface.cc.
References gem5::X86ISA::lock, and gem5::DistHeaderPkt::none.
|
overridevirtual |
Implements gem5::DistIface::Sync.
Definition at line 271 of file dist_iface.cc.
References gem5::DistHeaderPkt::immediate, gem5::X86ISA::lock, gem5::DistHeaderPkt::none, and warn.
|
overridevirtual |
Implements gem5::DistIface::Sync.
Definition at line 282 of file dist_iface.cc.
References gem5::DistHeaderPkt::immediate, gem5::X86ISA::lock, gem5::DistHeaderPkt::none, and warn.
|
overridevirtual |
Implements gem5::DistIface::Sync.
Definition at line 847 of file dist_iface.cc.
References gem5::DistIface::Sync::lock, and needStopSync.
|
overridevirtual |
Core method to perform a full dist sync.
Implements gem5::DistIface::Sync.
Definition at line 127 of file dist_iface.cc.
References gem5::DistHeaderPkt::cmdSyncReq, gem5::curTick(), header, gem5::X86ISA::lock, gem5::DistHeaderPkt::none, gem5::DistHeaderPkt::pending, gem5::DistIface::primary, gem5::DistIface::recvThreadsNum, and gem5::DistIface::sendCmd().
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::DistIface::Sync.
Definition at line 307 of file dist_iface.cc.
References SERIALIZE_SCALAR.
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
| cp | Checkpoint state |
Implements gem5::DistIface::Sync.
Definition at line 314 of file dist_iface.cc.
References UNSERIALIZE_SCALAR.
|
private |
Ckpt requested.
Definition at line 215 of file dist_iface.hh.
|
private |
Exit requested.
Definition at line 211 of file dist_iface.hh.
|
private |