gem5
v20.1.0.0
|
#include <q_policy.hh>
Public Types | |
typedef std::deque< PacketPtr > | PacketQueue |
Public Member Functions | |
virtual void | enqueuePacket (PacketPtr pkt) |
This method is called by the memory controller after it enqueues a packet. More... | |
virtual PacketQueue::iterator | selectPacket (PacketQueue *queue)=0 |
Policy selector. More... | |
void | setMemCtrl (MemCtrl *mem) |
Setting a pointer to the Memory Controller implementing the policy. More... | |
virtual | ~QueuePolicy () |
Static Public Member Functions | |
static QueuePolicy * | create (const QoSMemCtrlParams *p) |
This factory method is used for generating the queue policy. More... | |
Protected Member Functions | |
QueuePolicy (const QoSMemCtrlParams *p) | |
Protected Attributes | |
MemCtrl * | memCtrl |
Pointer to parent memory controller implementing the policy. More... | |
The QoS Queue Policy class implements algorithms to schedule packets within the same QoS priority queue
Definition at line 59 of file q_policy.hh.
Definition at line 62 of file q_policy.hh.
|
inlinevirtual |
Definition at line 102 of file q_policy.hh.
|
inlineprotected |
Definition at line 105 of file q_policy.hh.
|
static |
This factory method is used for generating the queue policy.
It takes the memory controller params as an argument and returns the related QueuePolicy object. If no particular QueuePolicy has been specified in the QoSMemCtrlParams, the method will default to a LIFO queue policy.
p | QoS::MemCtrl parameter variable |
Definition at line 52 of file q_policy.cc.
References MipsISA::p.
|
inlinevirtual |
This method is called by the memory controller after it enqueues a packet.
It is a way for the queue policy to hook into the packet enqueuing and update relevant metadata. This will then be used once the QueuePolicy::selectPacket will be called.
pkt | Enqueued packet |
Reimplemented in QoS::LrgQueuePolicy.
Definition at line 83 of file q_policy.hh.
|
pure virtual |
Policy selector.
The implementation of this virtual method selects the packet to be serviced from the packet queue passed as an argument.
queue | Packet queue |
Implemented in QoS::LrgQueuePolicy, QoS::FifoQueuePolicy, and QoS::LifoQueuePolicy.
|
inline |
Setting a pointer to the Memory Controller implementing the policy.
Definition at line 100 of file q_policy.hh.
|
protected |
Pointer to parent memory controller implementing the policy.
Definition at line 110 of file q_policy.hh.
Referenced by QoS::LrgQueuePolicy::enqueuePacket(), QoS::LrgQueuePolicy::selectPacket(), and setMemCtrl().