← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1741564] [NEW] buggy TSC_DEADLINE not disabled for xenial/trusty kernels

 

Public bug reported:

[Impact]
An upstream commit added Intel cpu model/microcode checks to disable TSC_DEADLINE due to cpu errata:

commit bd9240a18edfbfa72e957fc2ba831cf1f13ea073
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Date: Wed May 31 17:52:03 2017 +0200

    x86/apic: Add TSC_DEADLINE quirk due to errata

That commit is included in the Ubuntu kernels starting at artful v4.13.


The Xenial 4.4 and Trusty 3.13 kernels do not yet have this commit, and so may trigger the TSC_DEADLINE microcode bug.  

Some details on the errata, under HSD173 (page 66):
https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/4th-gen-core-family-desktop-specification-update.pdf

The kernel commit initially working around this microcode errata
contains a description of what happens when the bug is triggered, "TSC
deadline timer stops working or creates an interrupt storm..." (from
commit 855615eee9b1989cac8ec5eaae4562db081a239b which removes the
workaround after adding microcode level check).

[Test Case]

On a system with a CPU model and microcode containing the TSC errata,
check the /proc/cpuinfo contents; if the 'tsc_deadline_timer' feature is
listed, this bug exists.  After patching, it should not be listed as a
CPU feature.  The specific model/stepping/ucode numbers are listed in
the commits (bd9240a18edfbfa72e957fc2ba831cf1f13ea073 and
616dd5872e52493863b0202632703eebd51243dc).

[Regression Potential]

The major regression potentials I see for this are:

1) incorrectly disabling the TSC_DEADLINE timer, on a system where the microcode errata doesn't apply, and
2) new reports of problems by T and X users who previously did not know their CPU microcode was buggy and now see the "TSC_DEADLINE disabled" boot log error, and report that as a "new bug".

[Other Info]

There are two follow-on fixes/refinements for this that should also be
backported to T and X kernels:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1724612
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1724912

Those commits update the specific microcode levels for specific cpu
model/steppings, and prevent disabling the timer on virtualized guests
(where the timer is also virtualized), respectively.

Additionally several related commits add, and then remove (once the
microcode-level-checks are in place) workarounds for this microcode
errata; commits 5bae156241e05d25171b18ee43e49f103c3f8097 and
8c9b9d87b855226a823b41a77a05f42324497603 (and possibly others) add the
workaround, then 855615eee9b1989cac8ec5eaae4562db081a239b removes it.
Those are fist included in 4.10, so neither the T nor X kernels include
the workaround.

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: Fix Released

** Affects: linux (Ubuntu Trusty)
     Importance: Low
     Assignee: Dan Streetman (ddstreet)
         Status: In Progress

** Affects: linux (Ubuntu Xenial)
     Importance: Low
     Assignee: Dan Streetman (ddstreet)
         Status: In Progress

** Also affects: linux (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Also affects: linux (Ubuntu Trusty)
   Importance: Undecided
       Status: New

** Changed in: linux (Ubuntu Trusty)
   Importance: Undecided => Low

** Changed in: linux (Ubuntu Xenial)
   Importance: Undecided => Low

** Changed in: linux (Ubuntu)
       Status: New => Fix Released

** Changed in: linux (Ubuntu Trusty)
       Status: New => In Progress

** Changed in: linux (Ubuntu Xenial)
       Status: New => In Progress

** Changed in: linux (Ubuntu Trusty)
     Assignee: (unassigned) => Dan Streetman (ddstreet)

** Changed in: linux (Ubuntu Xenial)
     Assignee: (unassigned) => Dan Streetman (ddstreet)

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1741564

Title:
  buggy TSC_DEADLINE not disabled for xenial/trusty kernels

Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Trusty:
  In Progress
Status in linux source package in Xenial:
  In Progress

Bug description:
  [Impact]
  An upstream commit added Intel cpu model/microcode checks to disable TSC_DEADLINE due to cpu errata:

  commit bd9240a18edfbfa72e957fc2ba831cf1f13ea073
  Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
  Date: Wed May 31 17:52:03 2017 +0200

      x86/apic: Add TSC_DEADLINE quirk due to errata

  That commit is included in the Ubuntu kernels starting at artful
  v4.13.

  
  The Xenial 4.4 and Trusty 3.13 kernels do not yet have this commit, and so may trigger the TSC_DEADLINE microcode bug.  

  Some details on the errata, under HSD173 (page 66):
  https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/4th-gen-core-family-desktop-specification-update.pdf

  The kernel commit initially working around this microcode errata
  contains a description of what happens when the bug is triggered, "TSC
  deadline timer stops working or creates an interrupt storm..." (from
  commit 855615eee9b1989cac8ec5eaae4562db081a239b which removes the
  workaround after adding microcode level check).

  [Test Case]

  On a system with a CPU model and microcode containing the TSC errata,
  check the /proc/cpuinfo contents; if the 'tsc_deadline_timer' feature
  is listed, this bug exists.  After patching, it should not be listed
  as a CPU feature.  The specific model/stepping/ucode numbers are
  listed in the commits (bd9240a18edfbfa72e957fc2ba831cf1f13ea073 and
  616dd5872e52493863b0202632703eebd51243dc).

  [Regression Potential]

  The major regression potentials I see for this are:

  1) incorrectly disabling the TSC_DEADLINE timer, on a system where the microcode errata doesn't apply, and
  2) new reports of problems by T and X users who previously did not know their CPU microcode was buggy and now see the "TSC_DEADLINE disabled" boot log error, and report that as a "new bug".

  [Other Info]

  There are two follow-on fixes/refinements for this that should also be
  backported to T and X kernels:

  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1724612
  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1724912

  Those commits update the specific microcode levels for specific cpu
  model/steppings, and prevent disabling the timer on virtualized guests
  (where the timer is also virtualized), respectively.

  Additionally several related commits add, and then remove (once the
  microcode-level-checks are in place) workarounds for this microcode
  errata; commits 5bae156241e05d25171b18ee43e49f103c3f8097 and
  8c9b9d87b855226a823b41a77a05f42324497603 (and possibly others) add the
  workaround, then 855615eee9b1989cac8ec5eaae4562db081a239b removes it.
  Those are fist included in 4.10, so neither the T nor X kernels
  include the workaround.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1741564/+subscriptions