Fix a Linux kernel TSC calibration issue in the presence of SMI

Bug #965586 reported by Leann Ogasawara on 2012-03-26
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
intel
Undecided
Unassigned
linux (Ubuntu)
Medium
Leann Ogasawara
Oneiric
Medium
Tim Gardner
Precise
Medium
Leann Ogasawara

Bug Description

Linux TSC calibration using PIT was written to take potential SMI's in to account. But it had one corner case where the SMI was resulting in a variation of approximately +/- 20MHz in the calibrated values.

NTP can fix the variations with in 500ppm and this was resulting in time sync issue on the large cluster using Romley platforms. Our debug showed that it was indeed related to the SMI. Kernel fix is pushed into upstream (included in 3.3-rc1):

http://marc.info/?l=linux-kernel&m=132684651309238&w=2 68f30fb x86, tsc: Fix SMI induced variation in quick_pit_calibrate()

 This NTP failure is reported by the Lawrence Livermore National Labs on their cluster using Jaketown cpu's. And Intel developer suggested all the enterprise distributions to backport this patch to their kernels.

So please consider it for Precise.

Changed in linux (Ubuntu Precise):
assignee: nobody → Leann Ogasawara (leannogasawara)
importance: Undecided → Medium
status: New → In Progress
Tim Gardner (timg-tpi) on 2012-03-27
visibility: private → public
Changed in linux (Ubuntu Oneiric):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Andy Whitcroft (apw) on 2012-03-27
Changed in linux (Ubuntu Oneiric):
importance: Undecided → Medium
Changed in linux (Ubuntu Precise):
status: In Progress → Fix Committed
Tim Gardner (timg-tpi) on 2012-03-28
Changed in linux (Ubuntu Oneiric):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (4.4 KiB)

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

---------------
linux (3.2.0-21.34) precise; urgency=low

  [ AceLan Kao ]

  * SAUCE: (drop after 3.4) asus-wmi: add scalar board brightness adj.
    support
    - LP: #961879
  * SAUCE: (drop after 3.4) asus-wmi: store backlight power status for AIO
    machine
    - LP: #961880

  [ Andy Whitcroft ]

  * [Config]: enable CONFIG_DRM_LOAD_EDID_FIRMWARE

  [ John Johansen ]

  * SAUCE: AppArmor: Add the ability to mediate mount
  * SAUCE: AppArmor: Add profile introspection file to interface
  * SAUCE: AppArmor: basic networking rules
  * SAUCE: Update aufs for build failure caused by apparmor backport
  * SAUCE: AppArmor: Fix change_onexec when called from a confined task
    - LP: #963756

  [ Leann Ogasawara ]

  * Revert "SAUCE: (drop after 3.3) platform/x86: Add driver for Apple gmux
    device"
  * Rebase to v3.2.13
  * d-i: Fix iwl3945 driver name typo in nic-modules
  * d-i: Add missing iwl* drivers to nic-modules
    - LP: #965116
  * d-i: Remove obsolete bcm43xx* drivers from nic-modules
  * d-i: Add brcm*mac drivers to nic-modules

  [ Seth Forshee ]

  * SAUCE: (drop after 3.3) apple_bl: Add register/unregister functions
  * SAUCE: (drop after 3.3) platform/x86: Add driver for Apple gmux device

  [ Tim Gardner ]

  * Add isci to debian scsi-modules udeb
    - LP: #963306
  * SAUCE: fsam7400: use UMH_WAIT_PROC consistently
    - LP: #963685
  * SAUCE: disable_nx should not be in __cpuinitdata section for X86_32
    - LP: #968233

  [ Upstream Kernel Changes ]

  * Bluetooth: Adding USB device 13d3:3375 as an Atheros AR3012.
    - LP: #916319
  * x86: Report cpb and eff_freq_ro flags correctly
    - LP: #960461
  * x86/amd: Add missing feature flag for fam15h models 10h-1fh processors
    - LP: #960461
  * KVM: Move cpuid code to new file
    - LP: #960466
  * KVM: expose latest Intel cpu new features (BMI1/BMI2/FMA/AVX2) to guest
    - LP: #960466
  * apparmor: add missing rcu_dereference()
  * apparmor: fix module parameter handling
  * btrfs, nfs, apparmor: don't pull mnt_namespace.h for no reason...
  * switch security_path_chmod() to umode_t
  * switch securityfs_create_file() to umode_t
  * switch ->path_mkdir() to umode_t
  * switch ->path_mknod() to umode_t
  * capabilities: remove the task from capable LSM hook entirely
  * switch security_path_chmod() to struct path *
  * AppArmor: refactor securityfs to use structures
  * AppArmor: add initial "features" directory to securityfs
  * AppArmor: add "file" details to securityfs
  * AppArmor: export known rlimit names/value mappings in securityfs
  * AppArmor: Add mising end of structure test to caps unpacking
  * AppArmor: Fix dropping of allowed operations that are force audited
  * AppArmor: Fix underflow in xindex calculation
  * AppArmor: fix mapping of META_READ to audit and quiet flags
  * AppArmor: Fix the error case for chroot relative path name lookup
  * AppArmor: Fix error returned when a path lookup is disconnected
  * AppArmor: Fix oops in policy unpack auditing
  * AppArmor: Add const qualifiers to generated string tables
  * AppArmor: Retrieve the dentry_path for error reporting when path lookup
    fails
...

Read more...

Changed in linux (Ubuntu Precise):
status: Fix Committed → Fix Released
Brad Figg (brad-figg) on 2012-04-07
tags: added: verification-needed-oneiric
Luis Henriques (henrix) wrote :

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

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!

Tim Gardner (timg-tpi) wrote :

Upstream 68f30fbee19cc67849b9fa8e153ede70758afe81 was a clean cherry-pick and has been verified in Precise as well as 3.3. Given the fundamental nature of this patch, I think it is safe to mark it as verified for Oneiric.

tags: added: verification-done-oneiric
removed: verification-needed-oneiric
Launchpad Janitor (janitor) wrote :
Download full text (24.1 KiB)

This bug was fixed in the package linux - 3.0.0-19.33

---------------
linux (3.0.0-19.33) oneiric-proposed; urgency=low

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #985736

  [ Luis Henriques ]

  * SAUCE: ite-cir: postpone ISR registration
    - LP: #984387

linux (3.0.0-19.32) oneiric-proposed; urgency=low

  [Luis Henriques]

  * Release Tracking Bug
    - LP: #974368

  [ Brad Figg ]

  * SAUCE (no-up) Provide a param for allowing the BIOS to handle changing
    the brightness on AC/battery status changes.
    - LP: #949311
  * SAUCE (no-up) Quirk for enabling backlight hotkeys on Samsung N150P
    - LP: #875893

  [ Daniel Vetter ]

  * SAUCE: (drop after 3.5) drm/i915: reinstate GM45 TV detection fix
    - LP: #638939

  [ Herton Ronaldo Krzesinski ]

  * SAUCE: (no-up) Reinstate missing hunk from nx emulation
    - LP: #972821

  [ Tim Gardner ]

  * SAUCE: ubuntu drivers: use UMH_WAIT_PROC consistently
    - LP: #963685
  * SAUCE: disable_nx should not be in __cpuinitdata section for X86_32
    - LP: #968233
  * SAUCE: (no-up) remove __initdata from vesafb_fix
    - LP: #969309

  [ Upstream Kernel Changes ]

  * usermodehelper: use UMH_WAIT_PROC consistently
    - LP: #963685
  * usermodehelper: introduce umh_complete(sub_info)
    - LP: #963685
  * usermodehelper: implement UMH_KILLABLE
    - LP: #963685
  * usermodehelper: kill umh_wait, renumber UMH_* constants
    - LP: #963685
  * usermodehelper: ____call_usermodehelper() doesn't need do_exit()
    - LP: #963685
  * kmod: introduce call_modprobe() helper
    - LP: #963685
  * kmod: make __request_module() killable
    - LP: #963685
  * x86, tsc: Fix SMI induced variation in quick_pit_calibrate()
    - LP: #965586
  * ata_piix: Add Toshiba Satellite Pro A120 to the quirks list due to
    broken suspend functionality.
    - LP: #886850
  * ACPICA: Fix regression in FADT revision checks
    - LP: #883441
  * ASPM: Fix pcie devices with non-pcie children
    - LP: #961482
  * USB: option: Add MediaTek MT6276M modem&app interfaces
    - LP: #971808
  * USB: option driver: adding support for Telit CC864-SINGLE, CC864-DUAL
    and DE910-DUAL modems
    - LP: #971808
  * USB: option: make interface blacklist work again
    - LP: #971808
  * USB: option: add ZTE MF820D
    - LP: #971808
  * USB: ftdi_sio: fix problem when the manufacture is a NULL string
    - LP: #971808
  * USB: ftdi_sio: add support for BeagleBone rev A5+
    - LP: #971808
  * USB: Microchip VID mislabeled as Hornby VID in ftdi_sio.
    - LP: #971808
  * USB: ftdi_sio: new PID: Distortec JTAG-lock-pick
    - LP: #971808
  * USB: ftdi_sio: add support for FT-X series devices
    - LP: #971808
  * USB: ftdi_sio: new PID: LUMEL PD12
    - LP: #971808
  * powerpc/usb: fix bug of kernel hang when initializing usb
    - LP: #971808
  * usb: musb: Reselect index reg in interrupt context
    - LP: #971808
  * usb: gadgetfs: return number of bytes on ep0 read request
    - LP: #971808
  * USB: gadget: Make g_hid device class conform to spec.
    - LP: #971808
  * futex: Cover all PI opcodes with cmpxchg enabled check
    - LP: #971808
  * sysfs: Fix memory leak in sysfs_sd_setsecdata().
    - LP: #971808
  * tty: ...

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

Other bug subscribers