Add CPU frequency post.
authorW. Trevor King <wking@drexel.edu>
Thu, 11 Nov 2010 20:24:25 +0000 (15:24 -0500)
committerW. Trevor King <wking@drexel.edu>
Thu, 11 Nov 2010 20:24:25 +0000 (15:24 -0500)
posts/CPU_frequency.mdwn [new file with mode: 0644]

diff --git a/posts/CPU_frequency.mdwn b/posts/CPU_frequency.mdwn
new file mode 100644 (file)
index 0000000..77a8521
--- /dev/null
@@ -0,0 +1,56 @@
+I usuall optimize my code for clean *code* and don't spend much time
+worrying about optimizing for particular hardware, or really worrying
+about hardware at all.  This is why I was surprised when I ran this on
+our deparment computer lab:
+
+    wking@xphy1:~$ grep MHz /proc/cpuinfo
+    cpu MHz         : 2000.000
+    cpu MHz         : 3166.000
+
+What!  Why is the CPU speed changing for a dual-core chip?  Some
+searching around lead me to [cpufrequtils][] (Debian: `cpufrequtils`,
+Gentoo: `sys-power/cpufrequtils`) and `cpufreq-info`:
+
+    wking@xphy1$ cpufreq-info 
+    cpufrequtils 006: cpufreq-info (C) Dominik Brodowski 2004-2009
+    Report errors and bugs to cpufreq@vger.kernel.org, please.
+    analyzing CPU 0:
+      driver: acpi-cpufreq
+      CPUs which run at the same hardware frequency: 0
+      CPUs which need to have their frequency coordinated by software: 0
+      maximum transition latency: 10.0 us.
+      hardware limits: 2.00 GHz - 3.17 GHz
+      available frequency steps: 3.17 GHz, 2.67 GHz, 2.33 GHz, 2.00 GHz
+      available cpufreq governors: conservative, ondemand, userspace,
+                      powersave, performance
+      current policy: frequency should be within 2.00 GHz and 3.17 GHz.
+                      The governor "ondemand" may decide which speed to use
+                      within this range.
+      current CPU frequency is 2.00 GHz (asserted by call to hardware).
+      cpufreq stats: 3.17 GHz:4.40%, 2.67 GHz:0.05%, 2.33 GHz:0.05%,
+                      2.00 GHz:95.49%  (3538)
+    analyzing CPU 1:
+      driver: acpi-cpufreq
+      CPUs which run at the same hardware frequency: 1
+      CPUs which need to have their frequency coordinated by software: 1
+      maximum transition latency: 10.0 us.
+      hardware limits: 2.00 GHz - 3.17 GHz
+      available frequency steps: 3.17 GHz, 2.67 GHz, 2.33 GHz, 2.00 GHz
+      available cpufreq governors: conservative, ondemand, userspace,
+                      powersave, performance
+      current policy: frequency should be within 2.00 GHz and 3.17 GHz.
+                      The governor "ondemand" may decide which speed to use
+                      within this range.
+      current CPU frequency is 2.00 GHz (asserted by call to hardware).
+      cpufreq stats: 3.17 GHz:4.03%, 2.67 GHz:0.77%, 2.33 GHz:0.03%,
+                      2.00 GHz:95.17%  (3743)
+
+Now it makes sense ;).  Apparently the current (possibly throttled)
+frequency is listed in `/proc/cpuinfo`, not the maximum frequency.
+
+Also, the computer lab computers don't seem to be working very hard ;).
+
+[cpufrequtils]: http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html
+
+[[!tag tags/linux]]
+[[!tag tags/programming]]