2017-10-03 16:09:26 |
bugproxy |
bug |
|
|
added bug |
2017-10-03 16:09:28 |
bugproxy |
tags |
|
architecture-ppc64le bugnameltc-159632 severity-critical targetmilestone-inin1710 |
|
2017-10-03 16:09:29 |
bugproxy |
attachment added |
|
powerpc-mce-Move-64-bit-machine-check-code-into-mce https://bugs.launchpad.net/bugs/1721070/+attachment/4961554/+files/0001-powerpc-mce-Move-64-bit-machine-check-code-into-mce..patch |
|
2017-10-03 16:09:30 |
bugproxy |
attachment added |
|
powerpc-64s-Add-workaround-for-P9-vector-CI-load-iss https://bugs.launchpad.net/bugs/1721070/+attachment/4961555/+files/0002-powerpc-64s-Add-workaround-for-P9-vector-CI-load-iss.patch |
|
2017-10-03 16:09:34 |
bugproxy |
ubuntu: assignee |
|
Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) |
|
2017-10-03 16:09:38 |
bugproxy |
affects |
ubuntu |
linux (Ubuntu) |
|
2017-10-03 16:15:28 |
Joseph Salisbury |
linux (Ubuntu): status |
New |
Triaged |
|
2017-10-03 16:15:31 |
Joseph Salisbury |
linux (Ubuntu): importance |
Undecided |
Medium |
|
2017-10-03 16:18:12 |
Joseph Salisbury |
nominated for series |
|
Ubuntu Artful |
|
2017-10-03 16:18:12 |
Joseph Salisbury |
bug task added |
|
linux (Ubuntu Artful) |
|
2017-10-03 16:18:12 |
Joseph Salisbury |
nominated for series |
|
Ubuntu Zesty |
|
2017-10-03 16:18:12 |
Joseph Salisbury |
bug task added |
|
linux (Ubuntu Zesty) |
|
2017-10-03 16:18:19 |
Joseph Salisbury |
linux (Ubuntu Zesty): status |
New |
Triaged |
|
2017-10-03 16:18:22 |
Joseph Salisbury |
linux (Ubuntu Zesty): importance |
Undecided |
Medium |
|
2017-10-03 16:18:28 |
Joseph Salisbury |
tags |
architecture-ppc64le bugnameltc-159632 severity-critical targetmilestone-inin1710 |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin1710 |
|
2017-10-03 16:36:29 |
Andrew Cloke |
bug task added |
|
ubuntu-power-systems |
|
2017-10-03 16:36:38 |
Andrew Cloke |
ubuntu-power-systems: importance |
Undecided |
Critical |
|
2017-10-03 16:36:50 |
Andrew Cloke |
ubuntu-power-systems: assignee |
|
Canonical Kernel Team (canonical-kernel-team) |
|
2017-10-03 17:38:56 |
Joseph Salisbury |
linux (Ubuntu Zesty): importance |
Medium |
Critical |
|
2017-10-03 17:38:59 |
Joseph Salisbury |
linux (Ubuntu Artful): importance |
Medium |
Critical |
|
2017-10-03 18:09:08 |
Frank Heimes |
ubuntu-power-systems: status |
New |
Triaged |
|
2017-10-03 20:19:56 |
Joseph Salisbury |
bug task deleted |
linux (Ubuntu Zesty) |
|
|
2017-10-03 20:49:38 |
Joseph Salisbury |
linux (Ubuntu Artful): assignee |
Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) |
Joseph Salisbury (jsalisbury) |
|
2017-10-03 20:49:41 |
Joseph Salisbury |
linux (Ubuntu Artful): status |
Triaged |
In Progress |
|
2017-10-04 05:15:31 |
Frank Heimes |
ubuntu-power-systems: status |
Triaged |
In Progress |
|
2017-10-05 20:17:33 |
Joseph Salisbury |
nominated for series |
|
Ubuntu Zesty |
|
2017-10-05 20:17:33 |
Joseph Salisbury |
bug task added |
|
linux (Ubuntu Zesty) |
|
2017-10-05 20:17:39 |
Joseph Salisbury |
linux (Ubuntu Zesty): status |
New |
Triaged |
|
2017-10-05 20:17:44 |
Joseph Salisbury |
linux (Ubuntu Zesty): importance |
Undecided |
Critical |
|
2017-10-06 17:14:05 |
Joseph Salisbury |
linux (Ubuntu Zesty): status |
Triaged |
In Progress |
|
2017-10-06 17:14:09 |
Joseph Salisbury |
linux (Ubuntu Zesty): assignee |
|
Joseph Salisbury (jsalisbury) |
|
2017-10-06 17:35:03 |
Joseph Salisbury |
description |
-- Problem Description --
POWER9 DD2.1 and earlier has an issue where some cache inhibited
vector load will return bad data. The workaround is two part, one
firmware/microcode part triggers HMI interrupts when hitting such
loads, the other part is this patch which then emulates the
instructions in Linux.
The affected instructions are limited to lxvd2x, lxvw4x, lxvb16x and
lxvh8x.
When an instruction triggers the HMI, all threads in the core will be
sent to the HMI handler, not just the one running the vector load.
In general, these spurious HMIs are detected by the emulation code and
we just return back to the running process. Unfortunately, if a
spurious interrupt occurs on a vector load that's to normal memory we
have no way to detect that it's spurious (unless we walk the page
tables, which is very expensive). In this case we emulate the load but
we need do so using a vector load itself to ensure 128bit atomicity is
preserved.
Some additional debugfs emulated instruction counters are added also.
In order to solve this bug, we need to cherry pick the following patch
https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=next&id=5080332c2c893118dbc18755f35c8b0131cf0fc4 |
== SRU Justification ==
POWER9 DD2.1 and earlier has an issue where some cache inhibited
vector load will return bad data. The fix is two part, one
firmware/microcode part triggers HMI interrupts when hitting such
loads, the other part is commit 5080332c2c89 from linux-next which then
emulates the instructions in Linux.
The affected instructions are limited to lxvd2x, lxvw4x, lxvb16x and
lxvh8x.
Commit ccd3cd361341 is needed as a prereq for Artful.
Commits a3d96f70c147 and ccd3cd361341 are needed as prereqs for Zesty.
== Fixes ==
a3d96f70c147 ("powerpc/64s: Fix system reset vs general interrupt reentrancy")
ccd3cd361341 ("powerpc/mce: Move 64-bit machine check code into mce.c")
5080332c2c89 ("powerpc/64s: Add workaround for P9 vector CI load issue")
== Regression Potential ==
These commits are specific to powerpc. They required some back porting but
have been tested by IBM.
-- Problem Description --
When an instruction triggers the HMI, all threads in the core will be
sent to the HMI handler, not just the one running the vector load.
In general, these spurious HMIs are detected by the emulation code and
we just return back to the running process. Unfortunately, if a
spurious interrupt occurs on a vector load that's to normal memory we
have no way to detect that it's spurious (unless we walk the page
tables, which is very expensive). In this case we emulate the load but
we need do so using a vector load itself to ensure 128bit atomicity is
preserved.
Some additional debugfs emulated instruction counters are added also.
In order to solve this bug, we need to cherry pick the following patch
https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=next&id=5080332c2c893118dbc18755f35c8b0131cf0fc4 |
|
2017-10-16 14:07:43 |
Manoj Iyer |
tags |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin1710 |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin1710 triage-g |
|
2017-10-24 20:40:01 |
Mauricio Faria de Oliveira |
summary |
powerpc/64s: Add workaround for P9 vector CI load issuenext |
powerpc/64s: Add workaround for P9 vector CI load issue |
|
2017-10-26 16:49:47 |
bugproxy |
tags |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin1710 triage-g |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin16043 triage-g |
|
2017-11-01 11:47:38 |
Kleber Sacilotto de Souza |
linux (Ubuntu Zesty): status |
In Progress |
Fix Committed |
|
2017-11-01 18:15:45 |
Thadeu Lima de Souza Cascardo |
linux (Ubuntu Artful): status |
In Progress |
Fix Committed |
|
2017-11-06 14:49:19 |
Manoj Iyer |
ubuntu-power-systems: status |
In Progress |
Fix Committed |
|
2017-11-08 12:51:25 |
Kleber Sacilotto de Souza |
tags |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin16043 triage-g |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin16043 triage-g verification-needed-zesty |
|
2017-11-08 12:53:51 |
Kleber Sacilotto de Souza |
tags |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin16043 triage-g verification-needed-zesty |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin16043 triage-g verification-needed-artful verification-needed-zesty |
|
2017-11-15 09:55:55 |
Po-Hsu Lin |
tags |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin16043 triage-g verification-needed-artful verification-needed-zesty |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin16043 triage-g verification-done-artful verification-needed-zesty |
|
2017-11-15 22:00:04 |
bugproxy |
tags |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin16043 triage-g verification-done-artful verification-needed-zesty |
architecture-ppc64le bugnameltc-159632 kernel-da-key severity-critical targetmilestone-inin16043 triage-g verification-done-artful verification-done-zesty |
|
2017-11-20 11:43:03 |
Launchpad Janitor |
linux (Ubuntu Zesty): status |
Fix Committed |
Fix Released |
|
2017-11-21 11:42:37 |
Launchpad Janitor |
linux (Ubuntu Artful): status |
Fix Committed |
Fix Released |
|
2017-11-28 17:51:51 |
Andrew Cloke |
ubuntu-power-systems: status |
Fix Committed |
Fix Released |
|
2017-11-28 17:51:59 |
Manoj Iyer |
linux (Ubuntu): status |
In Progress |
Fix Released |
|