aboutsummaryrefslogtreecommitdiff
path: root/cpu
diff options
context:
space:
mode:
authorarjan <arjan@arjan-desktop.localdomain>2010-08-22 00:51:39 -0700
committerarjan <arjan@arjan-desktop.localdomain>2010-08-22 00:51:39 -0700
commit02e62b9c561102adec2f5f34b495410ce31f908f (patch)
tree9c9a79ccd552ddc91039c6b8ed9ad4b9e14b4686 /cpu
parent3b18db06c97dc620369886b003d30c1ad518bd22 (diff)
downloadpowertop-02e62b9c561102adec2f5f34b495410ce31f908f.tar.gz
uh oh.. associative arrays are breaking up on me
need to write a "is equal" function that does strcmp
Diffstat (limited to 'cpu')
-rw-r--r--cpu/cpu.h2
-rw-r--r--cpu/cpu_package.cpp16
2 files changed, 18 insertions, 0 deletions
diff --git a/cpu/cpu.h b/cpu/cpu.h
index c7d9ebe..997ed69 100644
--- a/cpu/cpu.h
+++ b/cpu/cpu.h
@@ -149,6 +149,8 @@ public:
virtual char * fill_pstate_line(int line_nr, char *buffer);
virtual char * fill_pstate_name(int line_nr, char *buffer);
virtual int can_collapse(void) { return childcount == 1;};
+
+ virtual void measurement_end(void);
};
#include "intel_cpus.h"
diff --git a/cpu/cpu_package.cpp b/cpu/cpu_package.cpp
index f9202df..ff7903f 100644
--- a/cpu/cpu_package.cpp
+++ b/cpu/cpu_package.cpp
@@ -1,6 +1,7 @@
#include <stdio.h>
#include "cpu.h"
#include "../lib.h"
+#include "../parameters/parameters.h"
char * cpu_package::fill_cstate_line(int line_nr, char *buffer)
{
@@ -69,3 +70,18 @@ char * cpu_package::fill_pstate_line(int line_nr, char *buffer)
return buffer;
}
+
+void cpu_package::measurement_end(void)
+{
+ unsigned int i;
+ char buffer[256];
+
+ abstract_cpu::measurement_end();
+
+ for (i = 0; i < pstates.size(); i ++) {
+ sprintf(buffer,"cpu-freq-%s", pstates[i]->human_name);
+ printf("registering %s \n", buffer);
+ register_parameter(buffer, 1);
+ }
+
+} \ No newline at end of file