6 #ifndef FREQUENCYGOVERNORIMP_HPP_INCLUDE
7 #define FREQUENCYGOVERNORIMP_HPP_INCLUDE
26 void adjust_platform(
const std::vector<double> &frequency_request)
override;
33 void validate_policy(
double &freq_min,
double &freq_max)
const override;
35 double get_limit(
const std::string &sig_name)
const;
36 PlatformIO &m_platform_io;
37 const PlatformTopo &m_platform_topo;
38 const double M_FREQ_STEP;
39 const double M_PLAT_FREQ_MIN;
40 const double M_PLAT_FREQ_MAX;
44 bool m_do_write_batch;
45 int m_freq_ctl_domain_type;
46 std::vector<int> m_control_idx;
47 std::vector<double> m_last_freq;
48 bool m_is_platform_io_initialized;
Definition: FrequencyGovernor.hpp:20
Definition: FrequencyGovernorImp.hpp:18
int get_clamp_count() const override
Returns the number of clamping occurrence count for the platform.
Definition: FrequencyGovernor.cpp:188
virtual ~FrequencyGovernorImp()
Definition: FrequencyGovernor.cpp:53
bool set_frequency_bounds(double freq_min, double freq_max) override
Sets min and max package bounds. The defaults before calling this method are the min and max frequenc...
Definition: FrequencyGovernor.cpp:155
void validate_policy(double &freq_min, double &freq_max) const override
Checks that the minimum and maximum frequency are within range for the platform. If not,...
Definition: FrequencyGovernor.cpp:193
void set_domain_type(int domain_type) override
Set the domain type of frequency control that will be used in adjust_platform(). Must be called befor...
Definition: FrequencyGovernor.cpp:100
void adjust_platform(const std::vector< double > &frequency_request) override
Write frequency control, may be clamped between min and max frequency if request cannot be satisfied.
Definition: FrequencyGovernor.cpp:121
void init_platform_io(void) override
Registers signals and controls with PlatformIO using the default control domain.
Definition: FrequencyGovernor.cpp:83
double get_frequency_max() const override
Returns the current max frequency used by the governor.
Definition: FrequencyGovernor.cpp:178
double get_frequency_step() const override
Returns the frequency step for the platform.
Definition: FrequencyGovernor.cpp:183
double get_frequency_min() const override
Returns the current min frequency used by the governor.
Definition: FrequencyGovernor.cpp:173
bool do_write_batch(void) const override
Returns true if last call to adjust_platform requires writing.
Definition: FrequencyGovernor.cpp:150
FrequencyGovernorImp()
Definition: FrequencyGovernor.cpp:31
int frequency_domain_type(void) const override
Get the domain type of frequency control on the platform. Users of the FrequencyGovernor can use this...
Definition: FrequencyGovernor.cpp:95
Definition: Accumulator.cpp:12