2017-07-11 18:49:18 |
bugproxy |
bug |
|
|
added bug |
2017-07-11 18:49:20 |
bugproxy |
tags |
|
architecture-ppc64le bugnameltc-145954 severity-high targetmilestone-inin16041 |
|
2017-07-11 18:49:21 |
bugproxy |
ubuntu: assignee |
|
Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) |
|
2017-07-11 18:49:26 |
bugproxy |
affects |
ubuntu |
linux (Ubuntu) |
|
2017-07-11 19:07:54 |
Frank Heimes |
bug task added |
|
ubuntu-power-systems |
|
2017-07-11 19:08:13 |
Frank Heimes |
ubuntu-power-systems: assignee |
|
Canonical Kernel Team (canonical-kernel-team) |
|
2017-07-12 09:01:27 |
Stefan Bader |
nominated for series |
|
Ubuntu Xenial |
|
2017-07-12 09:01:27 |
Stefan Bader |
bug task added |
|
linux (Ubuntu Xenial) |
|
2017-07-12 09:09:18 |
Stefan Bader |
description |
We have an issue with the i40e driver, present in kernels pre-4.8, like Xenial v4.4 (from Ubuntu 16.04.1).
i40e driver has an issue in interrupt vector assignment in case of sparse CPU masks, like when some CPUs are disabled. The driver does a linear mapping not taking gaps on cpumask into account. This is a problem in systems with multiple logical CPUs per core (like in SMT scenarios).
If we disable some logical CPUs, by turning SMT off for example, we will end up with a sparse cpu_online_mask, i.e., only the first CPU in a core is online, and the incremental/linear filling in the interrupt cpumask might lead to multiple offline CPUs being assigned to the struct q_vector in the driver, leading to issues when interrupts are requested, like the following message in PowerPC systems:
[141.97] ics_opal_set_affinity: No online cpus in the mask 00200000,00000000,00000000,00000000 for irq 302
This message is output of interrupt controller in Power systems, a complain that the cpumask does not make sense to that particular system. |
SRU Justification:
Impact:
We have an issue with the i40e driver, present in kernels pre-4.8, like Xenial v4.4 (from Ubuntu 16.04.1).
i40e driver has an issue in interrupt vector assignment in case of sparse CPU masks, like when some CPUs are disabled. The driver does a linear mapping not taking gaps on cpumask into account. This is a problem in systems with multiple logical CPUs per core (like in SMT scenarios).
If we disable some logical CPUs, by turning SMT off for example, we will end up with a sparse cpu_online_mask, i.e., only the first CPU in a core is online, and the incremental/linear filling in the interrupt cpumask might lead to multiple offline CPUs being assigned to the struct q_vector in the driver, leading to issues when interrupts are requested, like the following message in PowerPC systems:
[141.97] ics_opal_set_affinity: No online cpus in the mask 00200000,00000000,00000000,00000000 for irq 302
This message is output of interrupt controller in Power systems, a complain that the cpumask does not make sense to that particular system.
Fix: Cherry-picking 7f6c553902bfa1c4e3f6cfa955c5ea036c7fe8e4
i40e: use valid online CPU on q_vector initialization
into Xenial. Change limited to specific driver. Regression potential should be low and results testable. |
|
2017-07-12 12:25:40 |
Thadeu Lima de Souza Cascardo |
linux (Ubuntu Xenial): status |
New |
Fix Committed |
|
2017-07-13 06:05:00 |
Frank Heimes |
ubuntu-power-systems: status |
New |
In Progress |
|
2017-07-17 19:07:13 |
Joseph Salisbury |
linux (Ubuntu): status |
New |
Fix Committed |
|
2017-07-17 19:07:15 |
Joseph Salisbury |
linux (Ubuntu): importance |
Undecided |
Medium |
|
2017-07-17 19:07:18 |
Joseph Salisbury |
linux (Ubuntu Xenial): importance |
Undecided |
Medium |
|
2017-07-17 19:07:38 |
Joseph Salisbury |
linux (Ubuntu Xenial): assignee |
|
Canonical Kernel Team (canonical-kernel-team) |
|
2017-07-17 19:08:19 |
Joseph Salisbury |
ubuntu-power-systems: status |
In Progress |
Fix Committed |
|
2017-07-19 16:51:27 |
Manoj Iyer |
ubuntu-power-systems: importance |
Undecided |
Medium |
|
2017-07-24 14:00:37 |
Andrew Cloke |
tags |
architecture-ppc64le bugnameltc-145954 severity-high targetmilestone-inin16041 |
architecture-ppc64le bugnameltc-145954 severity-high targetmilestone-inin16041 triage-g |
|
2017-07-25 15:43:43 |
Kleber Sacilotto de Souza |
tags |
architecture-ppc64le bugnameltc-145954 severity-high targetmilestone-inin16041 triage-g |
architecture-ppc64le bugnameltc-145954 severity-high targetmilestone-inin16041 triage-g verification-needed-xenial |
|
2017-07-25 16:19:26 |
bugproxy |
tags |
architecture-ppc64le bugnameltc-145954 severity-high targetmilestone-inin16041 triage-g verification-needed-xenial |
architecture-ppc64le bugnameltc-145954 severity-high targetmilestone-inin16041 triage-g verification-done-xenial |
|
2017-08-03 16:32:17 |
Launchpad Janitor |
linux (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|
2017-08-03 16:32:17 |
Launchpad Janitor |
cve linked |
|
2017-10810 |
|
2017-08-03 16:32:17 |
Launchpad Janitor |
cve linked |
|
2017-7533 |
|
2017-08-03 17:07:03 |
Frank Heimes |
linux (Ubuntu): status |
Fix Committed |
Fix Released |
|
2017-08-03 17:07:06 |
Frank Heimes |
ubuntu-power-systems: status |
Fix Committed |
Fix Released |
|