Update intel_idle driver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Maverick |
Fix Released
|
Medium
|
Leann Ogasawara |
Bug Description
SRU Justification:
We periodically provide updated drivers to provide additional support for hardware and provide bug fixes. The intel_idle is a cpuidle driver that loads on specific Intel processors in lieu of the legacy ACPI processor_idle driver. The intent is to make Linux more efficient on these processors, as intel_idle knows more than ACPI, as well as make Linux more immune to ACPI BIOS bugs. As we now support HW that can leverage the intel_idle driver, it's advantageous to provide an updated version of the driver for those interested in it's use. All of the patches are already upstream as well (see details below).
I'd originally pursued providing this update via linux-bcakports
I would also like to note that these patches were originally submitted to upstream stable by the upstream maintainer. However, the submission
was later retracted due to the fact that some of the patches are cosmetic in nature. See:
git://git.
Impact:
These patches should only affect the intel_idle driver. It will also only load on supported systems. This driver can also be disabled by booting with "intel_
I will also update https:/
Test Case:
Load the kernel with the updated intel_idle driver on a system which is supported and confirm it loads/functions.
A summary of the usptream patches is as follows:
* intel_idle: do not use the LAPIC timer for ATOM C2
* intel_idle: add initial Sandy Bridge support
* intel_idle: delete bogus data from cpuidle_
* intel_idle: simplify test for leave_mm()
* intel_idle: enable Atom C6
* intel_idle: Voluntary leave_mm before entering deeper
* cpuidle: extend cpuidle and menu governor to handle dynamic states
* intel_idle: add missing __percpu markup
* intel_idle: Change mode 755 => 644
* x86, mwait: Move mwait constants to a common header file
* intel_idle: recognize Lincroft Atom Processor
* intel_idle: add support for Westmere-EX
* intel_idle: delete power_policy modparam, and choose substate functions
* intel_idle: delete substates DEBUG modparam
CVE References
Changed in linux (Ubuntu): | |
status: | New → Invalid |
Changed in linux (Ubuntu Maverick): | |
assignee: | nobody → Leann Ogasawara (leannogasawara) |
importance: | Undecided → Medium |
status: | New → In Progress |
description: | updated |
Changed in linux (Ubuntu Maverick): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done removed: verification-needed |
tags: |
added: verification-needed removed: verification-done |
tags: | added: kj-triage |
Just tested the patches on an Intel Sandy Bridge. I can confirm that a kernel without the patches doesn't support running the intel_idle driver on Sandy Bridge (as expected). After booting into a kernel with the patches, intel_idle is loaded and runs.
$ uname -a
Linux sugarbay 2.6.35-23-generic #41-Ubuntu SMP Wed Nov 24 11:55:36 UTC 2010 x86_64 GNU/Linux
$ dmesg | grep "intel_idle"
[ 1.672968] intel_idle: MWAIT substates: 0x1120
[ 1.672970] intel_idle: does not run on family 6 model 42
$ uname -a
Linux sugarbay 2.6.35-24-generic #42+lp684888 SMP Fri Dec 3 19:11:30 UTC 2010 x86_64 GNU/Linux
$ dmesg | grep "intel_idle" reliable_ states 0xffffffff
[ 1.662006] intel_idle: MWAIT substates: 0x1120
[ 1.662008] intel_idle: v0.4 model 0x2A
[ 1.662010] intel_idle: lapic_timer_
[ 1.663670] ACPI: acpi_idle yielding to intel_idle