From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: jongman.heo@samsung.com
Cc: Linux PM <linux-pm@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Subject: Re: FW: [4.12 regression] "cpufreq: intel_pstate: Active mode P-state limits rework"
Date: Thu, 01 Jun 2017 01:51:32 +0200 [thread overview]
Message-ID: <3772609.tskOqDLWI3@aspire.rjw.lan> (raw)
In-Reply-To: <20170529021852epcms1p66b2e89d2aec7988e00fb64c41a48a839@epcms1p6>
On Monday, May 29, 2017 02:18:52 AM Jongman Heo wrote:
>
> Hi,
>
> FYI, 4.12-rc3 still has this issue.
>
>
> --------- Original Message ---------
> Sender : 허종만 <jongman.heo@samsung.com>
> Date : 2017-05-16 13:25 (GMT+9)
> Title : [4.12 regression] "cpufreq: intel_pstate: Active mode P-state limits rework"
>
>
> Hi,
>
> With 4.12-rc1 (Linus git), booting fails due to kernel panic, at intel_pstate_register_driver+0x56/0x110.
> I can't copy the whole trace from the graphic console, it looks like below.
>
> Call Trace:
> intel_pstate_init
> intel_pstate_setup
> do_one_initcall
> set_debug_rodata
> kernel_init_freeable
> rest_init
> kernel_init
> ret_from_fork
> Code: ...
> RIP: intel_pstate_register_driver+0x56/0x110 RSP: ffffa3a98000bd80
> ...
I guess this is a division by 0 due to the unmet assumption that the denominator
in min_perf_pct_min() will always be nonzero.
If this guess is correct, the patch below should help, so can you please test it?
Thanks,
Rafael
---
drivers/cpufreq/intel_pstate.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
Index: linux-pm/drivers/cpufreq/intel_pstate.c
===================================================================
--- linux-pm.orig/drivers/cpufreq/intel_pstate.c
+++ linux-pm/drivers/cpufreq/intel_pstate.c
@@ -571,9 +571,10 @@ static inline void update_turbo_state(vo
static int min_perf_pct_min(void)
{
struct cpudata *cpu = all_cpu_data[0];
+ int turbo_pstate = cpu->pstate.turbo_pstate;
- return DIV_ROUND_UP(cpu->pstate.min_pstate * 100,
- cpu->pstate.turbo_pstate);
+ return turbo_pstate ?
+ DIV_ROUND_UP(cpu->pstate.min_pstate * 100, turbo_pstate) : 0;
}
static s16 intel_pstate_get_epb(struct cpudata *cpu_data)
next prev parent reply other threads:[~2017-05-31 23:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20170516042313epcms1p5523f4e3e1ae608eaf0327be0242ee46e@epcms1p3>
[not found] ` <20170516042313epcms1p5523f4e3e1ae608eaf0327be0242ee46e@epcms1p5>
2017-05-16 4:25 ` [4.12 regression] "cpufreq: intel_pstate: Active mode P-state limits rework" 허종만
2017-05-29 2:18 ` FW: " Jongman Heo
2017-05-31 23:51 ` Rafael J. Wysocki [this message]
2017-06-01 1:08 ` Jongman Heo
2017-06-02 0:41 ` Rafael J. Wysocki
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=3772609.tskOqDLWI3@aspire.rjw.lan \
--to=rjw@rjwysocki.net \
--cc=jongman.heo@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=srinivas.pandruvada@linux.intel.com \
/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.