Go to the documentation of this file.
34 #include "debug/Activity.hh"
39 int longest_latency,
int activity)
40 : _name(
name), activityBuffer(longest_latency, 0),
41 longestLatency(longest_latency), activityCount(activity),
82 DPRINTF(Activity,
"No activity left!\n");
100 DPRINTF(Activity,
"Stage %i already active.\n", idx);
117 DPRINTF(Activity,
"Stage %i already inactive.\n", idx);
void advance()
Advances the activity buffer, decrementing the activityCount if active communication just left the ti...
int longestLatency
Longest latency time buffer in the CPU.
void cprintf(const char *format, const Args &...args)
void reset()
Clears the time buffer and the activity count.
int numStages
Number of stages that can be marked as active or inactive.
TimeBuffer< bool > activityBuffer
Time buffer that tracks if any cycles has active communication in them.
const std::string & name()
int activityCount
Tracks how many stages and cycles of time buffer have activity.
void validate()
Debug function to ensure that the activity count matches the contents of the time buffer.
bool * stageActive
Records which stages are active/inactive.
Overload hash function for BasicBlockRange type.
void activity()
Records that there is activity this cycle.
void activateStage(const int idx)
Marks a stage as active.
void deactivateStage(const int idx)
Deactivates a stage.
ActivityRecorder(const std::string &name, int num_stages, int longest_latency, int count)
void dump()
Debug function to dump the contents of the time buffer.
Generated on Wed Sep 30 2020 14:02:08 for gem5 by doxygen 1.8.17