gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::__SchedulingPolicy< Policy > Class Template Reference

Intermediate class that derives from the i-face class, and implements its API. More...

#include <scheduling_policy.hh>

Inheritance diagram for gem5::__SchedulingPolicy< Policy >:
gem5::SchedulingPolicy

Public Member Functions

 __SchedulingPolicy ()
 
WavefrontchooseWave (std::vector< Wavefront * > *sched_list) override
 
- Public Member Functions inherited from gem5::SchedulingPolicy
 SchedulingPolicy ()
 

Detailed Description

template<typename Policy>
class gem5::__SchedulingPolicy< Policy >

Intermediate class that derives from the i-face class, and implements its API.

It uses the CRTP to take in the actual scheduling policy implementation as a template parameter. This allows us to use a pointer to SchedulingPolicy and instantiate whichever policy we want. The derived policies implement the scheduler arbitration logic using the static member method called __chooseWave();

Definition at line 61 of file scheduling_policy.hh.

Constructor & Destructor Documentation

◆ __SchedulingPolicy()

template<typename Policy >
gem5::__SchedulingPolicy< Policy >::__SchedulingPolicy ( )
inline

Definition at line 64 of file scheduling_policy.hh.

Member Function Documentation

◆ chooseWave()

template<typename Policy >
Wavefront * gem5::__SchedulingPolicy< Policy >::chooseWave ( std::vector< Wavefront * > * sched_list)
inlineoverridevirtual

Implements gem5::SchedulingPolicy.

Definition at line 67 of file scheduling_policy.hh.


The documentation for this class was generated from the following file:

Generated on Tue Jun 18 2024 16:24:09 for gem5 by doxygen 1.11.0