Subject: Re: linux-next: build failure after merge of the pm tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 15 Apr 2015 12:30:19 +1000

Hi Len,

On Mon, 13 Apr 2015 14:24:42 +1000 Stephen Rothwell <[email-masked]> wrote:
>
> Hi Rafael,
> 
> After merging the pm tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
> 
> In file included from arch/x86/include/asm/msr.h:131:0,
>                  from arch/x86/include/asm/processor.h:20,
>                  from arch/x86/include/asm/thread_info.h:23,
>                  from include/linux/thread_info.h:54,
>                  from arch/x86/include/asm/preempt.h:6,
>                  from include/linux/preempt.h:18,
>                  from include/linux/smp.h:55,
>                  from include/linux/kernel_stat.h:4,
>                  from drivers/cpufreq/intel_pstate.c:14:
> drivers/cpufreq/intel_pstate.c: In function 'knl_get_turbo_pstate':
> drivers/cpufreq/intel_pstate.c:622:9: error: 'MSR_NHM_TURBO_RATIO_LIMIT' undeclared (first use in this function)
>   rdmsrl(MSR_NHM_TURBO_RATIO_LIMIT, value);
>          ^
> arch/x86/include/asm/paravirt.h:153:26: note: in definition of macro 'rdmsrl'
>   val = paravirt_read_msr(msr, &_err); \
>                           ^
> drivers/cpufreq/intel_pstate.c:622:9: note: each undeclared identifier is reported only once for each function it appears in
>   rdmsrl(MSR_NHM_TURBO_RATIO_LIMIT, value);
>          ^
> arch/x86/include/asm/paravirt.h:153:26: note: in definition of macro 'rdmsrl'
>   val = paravirt_read_msr(msr, &_err); \
>                           ^
> 
> Caused by commit 6acfd09a439a ("tools/power turbostat: define and dump
> MSR_TURBO_RATIO_LIMIT2") interacting with commit b34ef932d79a
> ("intel_pstate: Knights Landing support").  This should have been
> resolved in commit 08fb40f3fbeb ("Merge branches 'powercap' and
> 'pm-tools'").
> 
> I have added the following patch for today:
> 
> From: Stephen Rothwell <[email-masked]>
> Date: Mon, 13 Apr 2015 14:11:11 +1000
> Subject: [PATCH] intel_pstate: fix bad merge (MSR_NHM_TURBO_RATIO_LIMIT rename)
> 
> Signed-off-by: Stephen Rothwell <[email-masked]>
> ---
>  drivers/cpufreq/intel_pstate.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index 875154d5f60b..5ecd2689a8fc 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -619,7 +619,7 @@ static int knl_get_turbo_pstate(void)
>  	u64 value;
>  	int nont, ret;
>  
> -	rdmsrl(MSR_NHM_TURBO_RATIO_LIMIT, value);
> +	rdmsrl(MSR_TURBO_RATIO_LIMIT, value);
>  	nont = core_get_max_pstate();
>  	ret = (((value) >> 8) & 0xFF);
>  	if (ret <= nont)

This is now required after the merge of the idle tree (since the code
was removed from the pm tree).

-- 
Cheers,
Stephen Rothwell                    [email-masked]