Scheduler
conservativeGovernor.h
Go to the documentation of this file.
1 
10 #ifndef CONSERVATIVEGOVERNOR_H
11 #define CONSERVATIVEGOVERNOR_H
12 
13 #include "freqGovernor.h"
14 
15 namespace Scheduler
16 {
17 
18 
19 class Queue;
20 
22 {
23 public:
24  static constexpr const char *configKey = "conservativeGovernor";
25 public:
28  void updateFreq(Processor *proc, Queue *readyQueue);
29  bool freqChangeEvent(TriggeringEvent trigger);
30  std::string getName();
31 private:
32  const double maxFreq;
33  const double minFreq;
34 
35  const double samplingRate{10}; /*FIXME This is pretty much useless here for the moment*/
36  const double upThreshold{0.95};
37  const double downThreshold{0.75}; /*what value?*/
38  const double samplingDownFactor{1.0};
39  const double powersaveBias{0.0};
40  const double freqStep {0.05};
41 };
42 
43 }
44 #endif
TriggeringEvent
Definition: eventType.h:16
This class implements the ready queue and the wait queue. Those queues contain processes ready to run...
Definition: queue.h:28
bool freqChangeEvent(TriggeringEvent trigger)
void updateFreq(Processor *proc, Queue *readyQueue)
static constexpr const char * configKey