[Maverick][SRU][pull-request] UBUNTU: Update intel_idle driver

Stefan Bader stefan.bader at canonical.com
Mon Dec 6 09:37:40 UTC 2010


On 12/03/2010 09:25 PM, Leann Ogasawara wrote:
> BugLink: http://bugs.launchpad.net/bugs/684888
> 
> 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-modules. However, testing proved that because the
> acpi_idle driver is built into the kernel, it prevents the intel_idle
> driver from loading later on via LBM. This is because the core cpuidle
> driver is not capable of handling run-time changing of idle drivers.
> Thus the reason I'm submitting this as a normal SRU for Maverick.
> 
> 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.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6.35.y.git idle-release
> 
> Impact:
> 
> These patches should only affect the intel_idle driver. intel_idle will
> also only operate on supported systems.  This driver can also be
> disabled by booting with "intel_idle.max_cstate=0" and the system will
> fall back on ACPI's "acpi_idle".
> 
> I will also update
> https://wiki.ubuntu.com/Kernel/Dev/KernelDriverDeviations to note the
> update.
> 
> Test Case:
> 
> Boot a kernel with the updated intel_idle driver on a system which is
> supported and confirm it loads/functions.  I tested and confirmed this
> works on an Intel Sandy Bridge (see bug for details).
> 
> The following changes since commit e884768247eb057c5b2111e6c24a7e6e8fc37407:
> 
>   UBUNTU: Ubuntu-2.6.35-24.42 (2010-11-30 15:28:39 -0800)
> 
> are available in the git repository at:
>   git://kernel.ubuntu.com/ogasawara/ubuntu-maverick.git intel-idle
> 
> A summary of the 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_state.power_usage
>  * 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
> 
> 
Given that
- this comes from the maintainer and likely will also come via stable (at least
  the parts not cosmetic)
- it is well testable with hardware we got
- Mavrick is the LTS-backport base currently for Lucid and the intel_idle
  driver improves and targets server in particular.

Acked-by: Stefan Bader <stefan.bader at canonical.com>




More information about the kernel-team mailing list