Add temporary patch to fix intel_pstate oops and lockdep report on

various atom based CPUs.
This commit is contained in:
Josh Boyer 2016-03-17 12:45:58 -04:00
parent 0a82643423
commit 47bb021b79
2 changed files with 59 additions and 1 deletions

View File

@ -0,0 +1,52 @@
From e2fea58e57993ab2ed011eb35a034507347336ed Mon Sep 17 00:00:00 2001
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Date: Thu, 17 Mar 2016 15:07:16 +0100
Subject: [PATCH] Temp fix for intel_pstate oopses and lockdep report with
Linux v4.5-1822-g63e30271b04c
On Thursday, March 17, 2016 09:02:29 AM Josh Boyer wrote:
> Hello,
Hi,
> I have an Intel Atom based NUC that is producing the following
> backtraces on boot of Linus' tree as of last evening. This does not
> happen with a tree with top level commit 271ecc5253e2, but does happen
> when using the tree mentioned in the subject with top level commit
> 63e30271b04c.
>
> The first backtrace appears to be a warning because the intel_pstate
> driver is calling wrmsrl_on_cpu when interrupts are disabled? Not
> sure on that one.
>
> The second backtrace is a lockdep report. Both are from the same boot.
OK, thanks for the report.
Can you please try the patch below?
I'm actually unsure if we can do that safely in general for Atom because
of the initialization, but that's what Core does anyway.
Srinivas, Philippe, why exactly do we need the wrmsrl_on_cpu() in
atom_set_pstate()? core_set_pstate() uses wrmsrl() and seems to be doing fine.
---
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 cb5607495816..32d5d6456290 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -587,7 +587,7 @@ static void atom_set_pstate(struct cpudata *cpudata, int pstate)
val |= vid;
- wrmsrl_on_cpu(cpudata->cpu, MSR_IA32_PERF_CTL, val);
+ wrmsrl(MSR_IA32_PERF_CTL, val);
}
static int silvermont_get_scaling(void)
--
2.5.0

View File

@ -42,7 +42,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
%global baserelease 1
%global baserelease 2
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@ -622,6 +622,8 @@ Patch665: netfilter-x_tables-deal-with-bogus-nextoffset-values.patch
#CVE-2016-3135 rhbz 1318172 1318270
Patch666: ipv4-Dont-do-expensive-useless-work-during-inetdev-des.patch
Patch667: 0001-Temp-fix-for-intel_pstate-oopses-and-lockdep-report-.patch
# END OF PATCH DEFINITIONS
%endif
@ -2143,6 +2145,10 @@ fi
#
#
%changelog
* Thu Mar 17 2016 Josh Boyer <jwboyer@fedoraproject.org>
- Add temporary patch to fix intel_pstate oops and lockdep report on
various atom based CPUs.
* Thu Mar 17 2016 Josh Boyer <jwboyer@fedoraproject.org> - 4.6.0-0.rc0.git7.1
- Linux v4.5-2535-g09fd671ccb24
- fbdev, media, libnvdimm, dm, scsi, ibft merges