gem5  v22.1.0.0
Public Member Functions | List of all members
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 Wed Dec 21 2022 10:23:25 for gem5 by doxygen 1.9.1