1. 31 3月, 2012 6 次提交
  2. 30 3月, 2012 31 次提交
  3. 27 3月, 2012 2 次提交
  4. 22 3月, 2012 1 次提交
    • A
      ACPI: Do cpufreq clamping for throttling per package v2 · 2815ab92
      Andi Kleen 提交于
      On Intel CPUs the processor typically uses the highest frequency
      set by any logical CPU. When the system overheats
      Linux first forces the frequency to the lowest available one
      to lower the temperature.
      
      However this was done only per logical CPU, which means all
      logical CPUs in a package would need to go through this before
      the frequency is actually lowered.
      
      Worse this delay actually prevents real throttling, because
      the real throttle code only proceeds when the lowest frequency
      is already reached.
      
      So when a throttle event happens force the lowest frequency
      for all CPUs in the package where it happened. The per CPU
      state is now kept per package, not per logical CPU. An alternative
      would be to do it per cpufreq unit, but since we want to bring
      down the temperature of the complete chip it's better
      to do it for all.
      
      In principle it may even make sense to do it for all CPUs,
      but I kept it on the package for now.
      
      With this change the frequency is actually lowered, which
      in terms also allows real throttling to proceed.
      
      I also removed an unnecessary per cpu variable initialization.
      
      v2: Fix package mapping
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      2815ab92