#include <FrequencyGovernorImp.hpp>
◆ FrequencyGovernorImp() [1/2]
geopm::FrequencyGovernorImp::FrequencyGovernorImp |
( |
| ) |
|
◆ FrequencyGovernorImp() [2/2]
geopm::FrequencyGovernorImp::FrequencyGovernorImp |
( |
PlatformIO & |
platform_io, |
|
|
const PlatformTopo & |
platform_topo |
|
) |
| |
◆ ~FrequencyGovernorImp()
geopm::FrequencyGovernorImp::~FrequencyGovernorImp |
( |
| ) |
|
|
virtual |
◆ adjust_platform()
void geopm::FrequencyGovernorImp::adjust_platform |
( |
const std::vector< double > & |
frequency_request | ) |
|
|
overridevirtual |
Write frequency control, may be clamped between min and max frequency if request cannot be satisfied.
- Parameters
-
[in] | frequency_request | Desired per domain frequency. |
Implements geopm::FrequencyGovernor.
◆ do_write_batch()
bool geopm::FrequencyGovernorImp::do_write_batch |
( |
void |
| ) |
const |
|
overridevirtual |
Returns true if last call to adjust_platform requires writing.
- Returns
- True if platform adjustments have been made, false otherwise.
Implements geopm::FrequencyGovernor.
◆ frequency_domain_type()
int geopm::FrequencyGovernorImp::frequency_domain_type |
( |
void |
| ) |
const |
|
overridevirtual |
◆ get_clamp_count()
int geopm::FrequencyGovernorImp::get_clamp_count |
( |
| ) |
const |
|
overridevirtual |
Returns the number of clamping occurrence count for the platform.
- Returns
- Clamp occurrence counter
Implements geopm::FrequencyGovernor.
◆ get_frequency_max()
double geopm::FrequencyGovernorImp::get_frequency_max |
( |
| ) |
const |
|
overridevirtual |
◆ get_frequency_min()
double geopm::FrequencyGovernorImp::get_frequency_min |
( |
| ) |
const |
|
overridevirtual |
◆ get_frequency_step()
double geopm::FrequencyGovernorImp::get_frequency_step |
( |
| ) |
const |
|
overridevirtual |
◆ init_platform_io()
void geopm::FrequencyGovernorImp::init_platform_io |
( |
void |
| ) |
|
|
overridevirtual |
◆ set_domain_type()
void geopm::FrequencyGovernorImp::set_domain_type |
( |
int |
domain_type | ) |
|
|
overridevirtual |
Set the domain type of frequency control that will be used in adjust_platform(). Must be called before init_platform_io().
- Exceptions
-
Exception | the requested domain does not contain the frequency control's native domain. |
Exception | The caller attempted to set the domain type after this governor initialized its PlatformIO controls. |
Implements geopm::FrequencyGovernor.
◆ set_frequency_bounds()
bool geopm::FrequencyGovernorImp::set_frequency_bounds |
( |
double |
freq_min, |
|
|
double |
freq_max |
|
) |
| |
|
overridevirtual |
Sets min and max package bounds. The defaults before calling this method are the min and max frequency for the platform.
- Parameters
-
[in] | freq_min | Minimum frequency value for the control domain. |
[in] | freq_max | Maximum frequency value for the control domain. |
- Returns
- Returns true if internal state updated, otherwise false.
Implements geopm::FrequencyGovernor.
◆ validate_policy()
void geopm::FrequencyGovernorImp::validate_policy |
( |
double & |
freq_min, |
|
|
double & |
freq_max |
|
) |
| const |
|
overridevirtual |
Checks that the minimum and maximum frequency are within range for the platform. If not, they will be clamped at the min and max for the platform.
- Parameters
-
[in,out] | freq_min | Minimum frequency to attempt to set, and resulting valid minimum. |
[in,out] | freq_max | Maximum frequency to attempt to set, and resulting valid maximum. |
Implements geopm::FrequencyGovernor.
The documentation for this class was generated from the following files: