public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* acpi-cpufreq: Move average performance code and make it available to userspace and several cleanups in this area
@ 2009-04-17 14:22 Thomas Renninger
  2009-04-17 14:22 ` [PATCH 1/8] Fix for a regression that was introduced by earlier commit Thomas Renninger
                   ` (7 more replies)
  0 siblings, 8 replies; 19+ messages in thread
From: Thomas Renninger @ 2009-04-17 14:22 UTC (permalink / raw)
  To: lenb; +Cc: linux-acpi, cpufreq, venkatesh.pallipadi

This patch series fixes following bugs:
     - if(!work_on_cpu..) must be if(work_on_cpu..), therefore always zero
       was returned for the average performance
     - use smp_call_function_single instead of work_on_cpu as suggested by
       Andrew Morton (will conflict slightly with his latest patch).
     - brackets forgotten when dividing
     - Handle overflow of MSR registers gracefully

Cleanups:
     - Make use of printk_once interface in acpi-cpufreq.c
     - Get rid of internal acpi-cpufreq max_freq per_cpu variable and use
       the already available policy->cpuinfo.max_freq instead
     - Do not read out cpuid again, but use the already available
       X86_FEATURE_IDA to detect whether MPERF/APERF registers can be used

New functionality:
     - Split up average performance code for re-use
     - Make cpufreq_stats show average performance in:
       /sys/devices/system/cpu/cpu*/cpufreq/stats/average_freq

This code patches against Len's latest acpi test tree.
The first patch is the Null pointer fix from Venkatesh posted on acpi-cpufreq
recently, subject:
[PATCH] x86, acpi_cpufreq: Fix the NULL pointer dereference in get_measured_perf

The patch from Andrew Morton which converts work_on_cpu to
smp_call_function_single at several places will not patch anymore. He sent
the patch on the acpi list recently, subject:
[patch for 2.6.30 1/2] arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c: avoid using work_on_cpu()
It would be nice when my patches can go in first and Andrew's gets adjusted
(I can do that then). It's easier this way round.

The algorithm to calculate the average frequency from the MSRs has not been
touched.
It would be great if this could still find it's way into 2.6.30.
If not, the fixes should probably be picked up.

Thanks,

     Thomas




^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2009-04-20 17:07 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-17 14:22 acpi-cpufreq: Move average performance code and make it available to userspace and several cleanups in this area Thomas Renninger
2009-04-17 14:22 ` [PATCH 1/8] Fix for a regression that was introduced by earlier commit Thomas Renninger
2009-04-18  5:30   ` Len Brown
2009-04-17 14:22 ` [PATCH 2/8] acpi-cpufreq: Cleanup: Use printk_once Thomas Renninger
2009-04-18  5:31   ` Len Brown
2009-04-17 14:22 ` [PATCH 3/8] acpi-cpufreq: First multiply then divide to avoid zero results Thomas Renninger
2009-04-17 17:10   ` Pallipadi, Venkatesh
2009-04-18  5:37     ` Len Brown
2009-04-17 14:22 ` [PATCH 4/8] acpi-cpufreq: Do not let get_measured perf depend on internal variable Thomas Renninger
2009-04-17 17:24   ` Pallipadi, Venkatesh
2009-04-18  9:49     ` Thomas Renninger
2009-04-17 14:22 ` [PATCH 5/8] acpi-cpufreq: Move average performance funtions into separate file and KConfig Thomas Renninger
2009-04-17 17:32   ` Pallipadi, Venkatesh
2009-04-20 11:41     ` Thomas Renninger
2009-04-20 17:04       ` Pallipadi, Venkatesh
2009-04-17 14:22 ` [PATCH 6/8] CPUFREQ: Add average frequency to sysfs exported files of cpufreq_stats Thomas Renninger
2009-04-17 14:22 ` [PATCH 7/8] acpi-cpufreq: Use already defined IDA feature flag instead of checking cpuid Thomas Renninger
2009-04-17 17:35   ` Pallipadi, Venkatesh
2009-04-17 14:22 ` [PATCH 8/8] CPUFREQ: Add documentation for new average_freq cpufreq_stats sysfs file Thomas Renninger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox