[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] [PATCH] 3/3 [retry 1] Add support for AMD MPERF/APERF



> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-devel-
> bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Mark Langsdorf
> Sent: Tuesday, March 30, 2010 2:29 AM
> To: xen-devel@xxxxxxxxxxxxxxxxxxx; osrc-patches@xxxxxxxxxxxx
> Subject: [Xen-devel] [PATCH] 3/3 [retry 1] Add support for AMD
> MPERF/APERF
> 
> # HG changeset patch
> # User mark.langsdorf@xxxxxxx
> # Date 1269570377 18000
> # Node ID 4009c47dfed487f0432b7cbe3b5bac2f805ada73
> # Parent  d7401eeeac32a315aa9228d012dea2e78052120d
> Starting with Family 0x10, model 10 processors, some AMD processors
> will have support for the APERF/MPERF MSRs.  This patch adds the
> checks necessary to support those MSRs.
> 
> It also makes the get_measured_perf function defined inside cpufreq.c
> driver independent.  The max_freq is passed to the function by the caller
> instead of being taking from the acpi-cpufreq only drv_data structure.
> 
> This patch supersedes the patch "Add APERF/MPERF support for AMD
> processors"
> I sent on March 1, 2010.
> 
> Signed-off-by: Mark Langsdorf <mark.langsdorf@xxxxxxx>
> 
> diff -r d7401eeeac32 -r 4009c47dfed4 xen/arch/x86/acpi/cpufreq/cpufreq.c
> --- a/xen/arch/x86/acpi/cpufreq/cpufreq.c     Thu Mar 25 13:02:43 2010 -0500
> +++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c     Thu Mar 25 21:26:17
> 2010 -0500
> @@ -269,7 +269,7 @@
>   * Only IA32_APERF/IA32_MPERF ratio is architecturally defined and
>   * no meaning should be associated with absolute values of these MSRs.
>   */
> -static unsigned int get_measured_perf(unsigned int cpu, unsigned int flag)
> +unsigned int get_measured_perf(unsigned int cpu, unsigned int flag,
> unsigned
> int max_freq)
>  {
>      struct cpufreq_policy *policy;
>      struct perf_pair readin, cur, *saved;
> @@ -353,7 +353,7 @@
> 
>  #endif
> 
> -    retval = drv_data[policy->cpu]->max_freq * perf_percent / 100;
> +    retval = max_freq * perf_percent / 100;
> 
>      return retval;
>  }

Changing the get_measured_perf interface definition looks not good idea.  
Leaving interface unchanged and modifying the implementation is more reasonable 
to me, e.g. 

-    retval = drv_data[policy->cpu]->max_freq * perf_percent / 100;
+    retval = policy->cpuinfo.max_freq * perf_percent / 100;

Best Regards
Ke

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.