kernel migration threads report bogus high cpu usage

Bug #1057593 reported by Chris J Arges
26
This bug affects 7 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Chris J Arges
Precise
Fix Released
High
Chris J Arges
Quantal
Fix Released
High
Chris J Arges

Bug Description

SRU Justification:

Impact:
When running a workload that frequently migrates threads, when cpu usage shows bogus values.
This is present in 12.04, but not present in 10.10.

It is expected that when running this workload the cpu usage would be reported correctly.
One can verify this by running:
ps ax -opid,comm,pcpu|grep migration | sort -k3 -rn

Here is more information about this issue:
http://lwn.net/Articles/473172/

Fix:
This fix is present in upstream linux with commit:
8f6189684eb4e85e6c593cd710693f09c944450a

Testcase:
Run a workload that frequently migrates threads, then show cpu usage. With this patch it should show proper usage.

Revision history for this message
Chris J Arges (arges) wrote :

This particular patch fixes the issue:
http://git.kernel.org/?p=linux/kernel/git/tip/tip.git;a=commitdiff;h=8f6189684eb4e85e6c593cd710693f09c944450a

It has been tested and shown that workloads that trigger this report more reasonable cpu usage.

Revision history for this message
Chris J Arges (arges) wrote :
Changed in linux (Ubuntu Precise):
assignee: nobody → Chris J Arges (christopherarges)
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Chris J Arges (arges) wrote :

This also affects quantal.

Revision history for this message
Chris J Arges (arges) wrote :
Chris J Arges (arges)
description: updated
Chris J Arges (arges)
description: updated
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "lp1057593 precise backport fix" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Quantal):
status: Confirmed → Fix Committed
Changed in linux (Ubuntu Precise):
status: Confirmed → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.5.0-16.25

---------------
linux (3.5.0-16.25) quantal-proposed; urgency=low

  [ <email address hidden> ]

  * SAUCE: input: Cypress PS/2 Trackpad fix multi-source, double-click
    - LP: #1055788

  [ Tim Gardner ]

  * [Config] revert '[Config] enable CONFIG_X86_X32=y'
    - LP: #1041883

  [ Upstream Kernel Changes ]

  * vmwgfx: corruption in vmw_event_fence_action_create()
  * drm/nvd0/disp: hopefully fix selection of 6/8bpc mode on DP outputs
    - LP: #1058088
  * drm/nv50-/gpio: initialise to vbios defaults during init
    - LP: #1058088
  * igb: A fix to VF TX rate limit
    - LP: #1058188
  * igb: Add switch case for supported hardware to igb_ptp_remove.
    - LP: #1058188
  * igb: Support the get_ts_info ethtool method.
    - LP: #1058188
  * igb: Streamline RSS queue and queue pairing assignment logic.
    - LP: #1058188
  * igb: Update firmware info output
    - LP: #1058188
  * igb: Version bump
    - LP: #1058188
  * igb: reset PHY in the link_up process to recover PHY setting after
    power down.
    - LP: #1058188
  * igb: Fix for failure to init on some 82576 devices.
    - LP: #1058188
  * igb: correct hardware type (i210/i211) check in igb_loopback_test()
    - LP: #1058188
  * igb: don't break user visible strings over multiple lines in
    igb_ethtool.c
    - LP: #1058188
  * igb: add delay to allow igb loopback test to succeed on 8086:10c9
    - LP: #1058188
  * igb: fix panic while dumping packets on Tx hang with IOMMU
    - LP: #1058188
  * igb: Fix register defines for all non-82575 hardware
    - LP: #1058188
  * e1000e: use more informative logging macros when netdev not yet
    registered
    - LP: #1058219
  * e1000e: Cleanup code logic in e1000_check_for_serdes_link_82571()
    - LP: #1058219
  * e1000e: Program the correct register for ITR when using MSI-X.
    - LP: #1058219
  * e1000e: advertise transmit time stamping
    - LP: #1058219
  * e1000e: 82571 Tx Data Corruption during Tx hang recovery
    - LP: #1058219
  * e1000e: fix panic while dumping packets on Tx hang with IOMMU
    - LP: #1058219
  * e1000: Combining Bitwise OR in one expression.
    - LP: #1058221
  * e1000: advertise transmit time stamping
    - LP: #1058221
  * e1000: Small packets may get corrupted during padding by HW
    - LP: #1058221
  * sched: Fix migration thread runtime bogosity
    - LP: #1057593
  * ACER: Add support for accelerometer sensor
    - LP: #1055433
  * ACER: Fix Smatch double-free issue
    - LP: #1055433

  [ Wen-chien Jesse Sung ]

  * SAUCE: HID: ntrig: change default value of logical/physical
    width/height to 1
    - LP: #1044248
 -- Leann Ogasawara <email address hidden> Fri, 28 Sep 2012 14:07:41 -0700

Changed in linux (Ubuntu Quantal):
status: Fix Committed → Fix Released
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Precise):
status: In Progress → Fix Committed
Revision history for this message
Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel for Precise in -proposed solves the problem (3.2.0-33.52). Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-precise' to 'verification-done-precise'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-precise
Revision history for this message
Luis Henriques (henrix) wrote :

The commit that fixes this issue has already hit the stable kernel 3.2.32 which will be the next Precise SRU. Thus, I'm tagging this bug as verified (as we don't verify upstream stable updates).

tags: added: verification-done-precise
removed: verification-needed-precise
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (9.1 KiB)

This bug was fixed in the package linux - 3.2.0-33.52

---------------
linux (3.2.0-33.52) precise-proposed; urgency=low

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #1067666

  [ Andy Whitcroft ]

  * [Config] add fs/udf to linux-image to support DVD/CD formats in virtual
    instances
    - LP: #1066921

  [ James M Leddy ]

  * SAUCE: input: fix weird issue of synaptics psmouse sync lost after
    resume
    - LP: #717970

  [ Paolo Pisati ]

  * [SRU] [Config] enable TIDSPBRIDGE for omap arm[el|hf] flavours
    - LP: #1058022

  [ Sarveshwar Bandi ]

  * SAUCE: bridge: Pull ip header into skb->data before looking into ip
    header.
    - LP: #1065150

  [ Upstream Kernel Changes ]

  * Revert "drm/radeon: rework pll selection (v3)"
    - LP: #1065047
  * sched: Fix migration thread runtime bogosity
    - LP: #1057593
  * Bluetooth: Add support for Sony Vaio T-Series
    - LP: #1054307
  * drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2)
    - LP: #1058303
  * Bluetooth: Use USB_VENDOR_AND_INTERFACE() for Broadcom devices
    - LP: #1058303
  * Bluetooth: Add USB_VENDOR_AND_INTERFACE_INFO() for Broadcom/Foxconn
    - LP: #1030233, #1058303
  * target: Fix ->data_length re-assignment bug with SCSI overflow
    - LP: #1065047
  * ASoC: samsung dma - Don't indicate support for pause/resume.
    - LP: #1065047
  * fs/proc: fix potential unregister_sysctl_table hang
    - LP: #1065047
  * mm/ia64: fix a memory block size bug
    - LP: #1065047
  * nbd: clear waiting_queue on shutdown
    - LP: #1065047
  * drivers/rtc/rtc-twl.c: ensure all interrupts are disabled during probe
    - LP: #1065047
  * mm/page_alloc: fix the page address of higher page's buddy calculation
    - LP: #1065047
  * memory hotplug: fix section info double registration bug
    - LP: #1065047
  * cciss: fix handling of protocol error
    - LP: #1065047
  * vfs: dcache: use DCACHE_DENTRY_KILLED instead of DCACHE_DISCONNECTED in
    d_kill()
    - LP: #1065047
  * workqueue: reimplement work_on_cpu() using system_wq
    - LP: #1065047
  * cpufreq/powernow-k8: workqueue user shouldn't migrate the kworker to
    another CPU
    - LP: #1065047
  * sched: Fix ancient race in do_exit()
    - LP: #1065047
  * hpwdt: Fix kdump issue in hpwdt
    - LP: #1065047
  * rtlwifi: rtl8192ce: Log message that B_CUT device may not work
    - LP: #1065047
  * brcmfmac: fix big endian bug in i-scan.
    - LP: #1065047
  * brcmfmac: Fix big endian host configuration data.
    - LP: #1065047
  * dmaengine: at_hdmac: fix comment in atc_prep_slave_sg()
    - LP: #1065047
  * dmaengine: at_hdmac: check that each sg data length is non-null
    - LP: #1065047
  * ARM: 7532/1: decompressor: reset SCTLR.TRE for VMSA ARMv7 cores
    - LP: #1065047
  * drm/i915: Reduce a pin-leak BUG into a WARN
    - LP: #1065047
  * bnx2i: Fixed NULL ptr deference for 1G bnx2 Linux iSCSI offload
    - LP: #1065047
  * mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA
    - LP: #1065047
  * hwmon: (ads7871) Add 'name' sysfs attribute
    - LP: #1065047
  * DMA: PL330: Check the pointer returned by kzalloc
    - LP: #1065047
  * hpsa: fix handling of protocol error
    -...

Read more...

Changed in linux (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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