context switching on 3.11 kernel costing CPU and power

Bug #1233681 reported by Colin Ian King on 2013-10-01
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Colin Ian King
Saucy
Medium
Colin Ian King

Bug Description

Heavy context switching is consuming a lot of extra power with the current saucy kernel. Context switching intensive tasks are consuming much longer to complete than on 3.8 raring kernels, for example:

dd if=/dev/zero | cat | cat | dd of=/dev/null

See http://reports.qa.ubuntu.com/power/hardware/arch/amd64/

The reason is that CONFIG_CONTEXT_TRACKING_FORCE is turned on because CONFIG_NO_HZ_FULL is enabled and the former config option adds a lot of overhead to context switching.

See attached LibreOffice spreadsheet with tests with the original config and the new fixed config. Endurance tests take less time to run to completion and the overall coulombs used is less with CONTEXT_TRACKING_FORCE and NO_HZ_FULL disabled, so this is an overall win. Some tests, such as the dd copy take way less time to complete, showing massive overhead of CONTEXT_TRACKING_FORCE.

CVE References

Colin Ian King (colin-king) wrote :
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: New → In Progress
assignee: nobody → Colin King (colin-king)
Tim Gardner (timg-tpi) on 2013-10-01
Changed in linux (Ubuntu Saucy):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.11.0-11.17

---------------
linux (3.11.0-11.17) saucy; urgency=low

  [ Andy Whitcroft ]

  * [Packaging] tools -- only build common tools package in master
  * SAUCE: tools -- report when tool is not available
    - LP: #1233376
  * [Packaging] tools -- common tools must carry all possible tools
    - LP: #1233376

  [ Colin Ian King ]

  * [Config] Fix power and performance regression
    - LP: #1233681

  [ Colin Watson ]

  * [Config] Clean up various udeb Provides

  [ Tim Gardner ]

  * rebase to v3.11.3
  * Release tracker
    - LP: #1233808

  [ Upstream Kernel Changes ]

  * ALSA: hda - Add CS4208 codec support for MacBook 6,1 and 6,2
    - LP: #1233623
  * ALSA: hda - Add fixup for MacBook Air 6,1 and 6,2 with CS4208 codec
    - LP: #1233623
  * NVMe: Remove "process_cq did something" message
    - LP: #1233686
  * Drivers: hv: balloon: Initialize the transaction ID just before sending the packet
    - LP: #1233466
  * cciss: fix info leak in cciss_ioctl32_passthru()
    - LP: #1188355
    - CVE-2013-2147
  * cpqarray: fix info leak in ida_locked_ioctl()
    - LP: #1188355
    - CVE-2013-2147
  * Drivers: hv: util: Fix a bug in version negotiation code for util services
    - LP: #1233433
 -- Tim Gardner <email address hidden> Tue, 01 Oct 2013 07:24:27 -0600

Changed in linux (Ubuntu Saucy):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers