All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linda Knippers <linda.knippers@hpe.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Andreas Herrmann <aherrmann@suse.com>
Cc: Jacob Tanenbaum <jtanenba@redhat.com>,
	stable@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Revert "cpufreq: pcc-cpufreq: update default value of cpuinfo_transition_latency"
Date: Fri, 22 Jul 2016 17:16:33 -0400	[thread overview]
Message-ID: <57928D31.5050602@hpe.com> (raw)
In-Reply-To: <ead100e9-e2a0-3733-9537-ec47dc38e75c@hpe.com>

On 07/22/2016 03:25 PM, Linda Knippers wrote:
> 
> 
> On 7/22/2016 11:36 AM, Viresh Kumar wrote:
>> On 22-07-16, 17:14, Andreas Herrmann wrote:
>>> diff --git a/drivers/cpufreq/pcc-cpufreq.c b/drivers/cpufreq/pcc-cpufreq.c
>>> index a7ecb9a..3f0ce2a 100644
>>> --- a/drivers/cpufreq/pcc-cpufreq.c
>>> +++ b/drivers/cpufreq/pcc-cpufreq.c
>>> @@ -555,8 +555,6 @@ static int pcc_cpufreq_cpu_init(struct cpufreq_policy *policy)
>>>  	policy->min = policy->cpuinfo.min_freq =
>>>  		ioread32(&pcch_hdr->minimum_frequency) * 1000;
>>>  
>>> -	policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL;
>>> -
>>>  	pr_debug("init: policy->max is %d, policy->min is %d\n",
>>>  		policy->max, policy->min);
>>>  out:
>>
>> Hi Rafael,
>>
>> I am very confused on this, can you help me understand ?
>>
>> - CPUFREQ_ETERNAL = -1
>> - unsigned int transition_latency = CPUFREQ_ETERNAL, will set it to UINT_MAX.
>> - Many drivers do it today
>>
>> cpufreq.c
>>
>> 	if (policy->governor->max_transition_latency &&
>> 	    policy->cpuinfo.transition_latency >
>> 	    policy->governor->max_transition_latency) {
>>
>> - And this check will always fail, unless max_transition_latency is zero.
>>
>> What am I missing ?
> 
> I don't know what's missing but I can reproduce the problem.

I added a debug message to show the transition latency values.

[   36.113829] cpufreq: ondemand governor failed, too long transition latency of HW, fallback to
performance governor
[   36.164688] cpufreq: cpufreq_governor: max_transition_latency 0x10000000, transition_latency
0x4294967295

max_transition latency for ondemand seems to come from
#define TRANSITION_LATENCY_LIMIT                (10 * 1000 * 1000)

How does this work for any driver?

-- ljk
> 
> -- ljk
> 

WARNING: multiple messages have this Message-ID (diff)
From: Linda Knippers <linda.knippers@hpe.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Andreas Herrmann <aherrmann@suse.com>
Cc: Jacob Tanenbaum <jtanenba@redhat.com>, <stable@vger.kernel.org>,
	<linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Revert "cpufreq: pcc-cpufreq: update default value of cpuinfo_transition_latency"
Date: Fri, 22 Jul 2016 17:16:33 -0400	[thread overview]
Message-ID: <57928D31.5050602@hpe.com> (raw)
In-Reply-To: <ead100e9-e2a0-3733-9537-ec47dc38e75c@hpe.com>

On 07/22/2016 03:25 PM, Linda Knippers wrote:
> 
> 
> On 7/22/2016 11:36 AM, Viresh Kumar wrote:
>> On 22-07-16, 17:14, Andreas Herrmann wrote:
>>> diff --git a/drivers/cpufreq/pcc-cpufreq.c b/drivers/cpufreq/pcc-cpufreq.c
>>> index a7ecb9a..3f0ce2a 100644
>>> --- a/drivers/cpufreq/pcc-cpufreq.c
>>> +++ b/drivers/cpufreq/pcc-cpufreq.c
>>> @@ -555,8 +555,6 @@ static int pcc_cpufreq_cpu_init(struct cpufreq_policy *policy)
>>>  	policy->min = policy->cpuinfo.min_freq =
>>>  		ioread32(&pcch_hdr->minimum_frequency) * 1000;
>>>  
>>> -	policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL;
>>> -
>>>  	pr_debug("init: policy->max is %d, policy->min is %d\n",
>>>  		policy->max, policy->min);
>>>  out:
>>
>> Hi Rafael,
>>
>> I am very confused on this, can you help me understand ?
>>
>> - CPUFREQ_ETERNAL = -1
>> - unsigned int transition_latency = CPUFREQ_ETERNAL, will set it to UINT_MAX.
>> - Many drivers do it today
>>
>> cpufreq.c
>>
>> 	if (policy->governor->max_transition_latency &&
>> 	    policy->cpuinfo.transition_latency >
>> 	    policy->governor->max_transition_latency) {
>>
>> - And this check will always fail, unless max_transition_latency is zero.
>>
>> What am I missing ?
> 
> I don't know what's missing but I can reproduce the problem.

I added a debug message to show the transition latency values.

[   36.113829] cpufreq: ondemand governor failed, too long transition latency of HW, fallback to
performance governor
[   36.164688] cpufreq: cpufreq_governor: max_transition_latency 0x10000000, transition_latency
0x4294967295

max_transition latency for ondemand seems to come from
#define TRANSITION_LATENCY_LIMIT                (10 * 1000 * 1000)

How does this work for any driver?

-- ljk
> 
> -- ljk
> 

  reply	other threads:[~2016-07-22 21:16 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-22 15:14 [PATCH] Revert "cpufreq: pcc-cpufreq: update default value of cpuinfo_transition_latency" Andreas Herrmann
2016-07-22 15:36 ` Viresh Kumar
2016-07-22 19:25   ` Linda Knippers
2016-07-22 19:25     ` Linda Knippers
2016-07-22 21:16     ` Linda Knippers [this message]
2016-07-22 21:16       ` Linda Knippers
2016-07-22 21:31   ` Rafael J. Wysocki
2016-07-22 21:28     ` Viresh Kumar
2016-07-22 21:46       ` Rafael J. Wysocki
2016-07-22 23:30         ` Viresh Kumar
2016-07-22 23:47           ` Rafael J. Wysocki
2016-07-22 23:50             ` Viresh Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57928D31.5050602@hpe.com \
    --to=linda.knippers@hpe.com \
    --cc=aherrmann@suse.com \
    --cc=jtanenba@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=stable@vger.kernel.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.