Multi-core load balancing not working properly after suspend to disk

Bug #661411 reported by Felix Kuehling
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

CPU: Intel(R) Core(TM) i7 CPU 860, 4 cores, hyperthreading

Symptoms: After suspending to disk load balancing of processes across CPU cores is not working properly. Runnable processes have to share a CPU core even if idle CPU cores are available. This is particularly noticeable when running parallel builds (e.g. make -j8 ...). They take much longer and the GNOME system monitor applet shows that most CPU cores are idle when there is enough work to keep them all busy.

A simple test to visualize the problem is to run "(while true; do true; done) & (while true; do true; done)" in bash and look at the CPU usage in top. After a fresh boot, the two subshells run with 100% CPU usage each, so each gets its own core to run on. When running this experiment after a suspend/resume cycle the two subshells run with 50% CPU usage each, so they're made to share a CPU core, although idle CPU cores are available.

Steps to reproduce:
* Boot system
* log in as normal user
* run the following command in a terminal window running bash: (while true; do true; done) & (while true; do true; done)
* In a second terminal window run top and observe two bash processes at the top, each running with 100% CPU usage
  (each bash gets its own CPU core)
* kill the two bash subshell processes
* suspend to disk
* wake up the system
* Run the same command as above: (while true; do true; done) & (while true; do true; done)
* In top the two bash processes run with 50% CPU usage
  (the two bash processes apparently share one CPU core, although idle cores are available)

Expected result: load balancing should continue working after resuming. The two bash subshells should each run with 100% CPU usage.

Actual result: load balancing is broken after resume. The two bash subshells have to share a CPU core even when idle CPU cores are available to balance the load.

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: linux-image-2.6.35-22-generic 2.6.35-22.34
Regression: Yes
Reproducible: Yes
ProcVersionSignature: Ubuntu 2.6.35-22.34-generic 2.6.35.4
Uname: Linux 2.6.35-22-generic x86_64
NonfreeKernelModules: fglrx
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.23.
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: VT1828S Analog [VT1828S Analog]
   Subdevices: 2/2
   Subdevice #0: subdevice #0
   Subdevice #1: subdevice #1
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: fkuehlin 1753 F.... pulseaudio
 /dev/snd/pcmC0D0p: fkuehlin 1753 F...m pulseaudio
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xfbaf8000 irq 52'
   Mixer name : 'VIA VT1828S'
   Components : 'HDA:11064441,104383d0,00100100'
   Controls : 35
   Simple ctrls : 20
Card1.Amixer.info:
 Card hw:1 'Generic'/'HD-Audio Generic at 0xfbbfc000 irq 53'
   Mixer name : 'ATI R6xx HDMI'
   Components : 'HDA:1002aa01,00aa0100,00100200'
   Controls : 4
   Simple ctrls : 1
Card1.Amixer.values:
 Simple mixer control 'IEC958',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Date: Fri Oct 15 14:56:46 2010
HibernationDevice: RESUME=UUID=8f6cfcae-9123-48f0-a9c6-1e962e6b726e
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
MachineType: System manufacturer System Product Name
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.35-22-generic root=UUID=c9f4b289-89ae-42c0-ba57-13b1b26131da ro quiet splash
ProcEnviron:
 PATH=(custom, user)
 LANG=en_CA.UTF-8
 SHELL=/bin/bash
RelatedPackageVersions: linux-firmware 1.38
RfKill:

SourcePackage: linux
WifiSyslog:
 Oct 15 14:55:59 Harpoon kernel: [17206.856773] ACPI Warning: Incorrect checksum in table [OEMB] - 0x03, should be 0xED (20100428/tbutils-314)
 Oct 15 14:55:59 Harpoon kernel: [17206.856958] ACPI Warning: Incorrect checksum in table [OEMB] - 0x03, should be 0xED (20100428/tbutils-314)
dmi.bios.date: 03/25/2010
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 1408
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: P7P55D
dmi.board.vendor: ASUSTeK Computer INC.
dmi.board.version: Rev 1.xx
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr1408:bd03/25/2010:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnP7P55D:rvrRev1.xx:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer

Revision history for this message
Felix Kuehling (felix-kuehling) wrote :
Brad Figg (brad-figg)
tags: added: acpi-table-checksum
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
penalvch (penalvch) wrote :

Felix Kuehling, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p linux <replace-with-bug-number>

Also, could you please test the latest upstream kernel available following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Please do not test the daily folder, but the one all the way at the bottom. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested. For example:
kernel-fixed-upstream-v3.11-rc5

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description. As well, please remove the tag:
needs-upstream-testing

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

As well, please remove the tag:
needs-upstream-testing

If you are unable to test the mainline kernel, please comment as to why specifically you were unable to test it and add the following tags:
kernel-unable-to-test-upstream
kernel-unable-to-test-upstream-VERSION-NUMBER

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

tags: added: bios-outdated-2101
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.