Let NVMe with HMB use native power control again
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Won't Fix
|
Undecided
|
Unassigned | ||
Hirsute |
Fix Released
|
Medium
|
Unassigned | ||
Impish |
Fix Released
|
Medium
|
Unassigned | ||
linux-oem-5.10 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Unassigned | ||
Hirsute |
Invalid
|
Undecided
|
Unassigned | ||
Impish |
Invalid
|
Undecided
|
Unassigned | ||
linux-oem-5.13 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Unassigned | ||
Hirsute |
Invalid
|
Undecided
|
Unassigned | ||
Impish |
Invalid
|
Undecided
|
Unassigned | ||
linux-oem-5.14 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Unassigned | ||
Hirsute |
Invalid
|
Undecided
|
Unassigned | ||
Impish |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Impact]
NVMe with HMB may still do DMA during suspend, so there was a commit
that put the NVMe to PCI D3 during suspend to prevent DMA activities.
However, this makes them consumes much more power because modern NVMe
requires to stay at PCI D0 to make its natve power control work.
[Fix]
Instead of put the NVMe to PCI D3 and reset it afterward, simply disable
HMB and re-enable HMB, for suspend and resume respectively.
[Test]
On affected system, Intel SoC can only reach PC3 during suspend.
With the SRU applied, the Intel SoC can reach PC10 and SLP_S0 and use
significant less power.
[Where problems could occur]
The original approach, i.e. disable NVMe and put it to PCI D3 to prevent
DMA activies, was just a precaution. There wasn't any case that
indicates it happens in practice.
This is a different approach to the same problem, which is a theoretical
problem.
CVE References
Changed in linux (Ubuntu Focal): | |
status: | New → Won't Fix |
Changed in linux (Ubuntu Hirsute): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Impish): | |
status: | New → Confirmed |
Changed in linux (Ubuntu Hirsute): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Impish): | |
importance: | Undecided → Medium |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | New → Confirmed |
Changed in linux-oem-5.10 (Ubuntu Hirsute): | |
status: | New → Invalid |
Changed in linux-oem-5.10 (Ubuntu Impish): | |
status: | New → Invalid |
Changed in linux-oem-5.13 (Ubuntu Focal): | |
importance: | Undecided → Medium |
status: | New → Confirmed |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in linux-oem-5.13 (Ubuntu Hirsute): | |
status: | New → Invalid |
Changed in linux-oem-5.13 (Ubuntu Impish): | |
status: | New → Invalid |
Changed in linux-oem-5.14 (Ubuntu Focal): | |
importance: | Undecided → Medium |
status: | New → Confirmed |
Changed in linux-oem-5.14 (Ubuntu Hirsute): | |
status: | New → Invalid |
Changed in linux-oem-5.14 (Ubuntu Impish): | |
status: | New → Invalid |
tags: | added: oem-priority originate-from-1949545 somerville |
Changed in linux-oem-5.14 (Ubuntu Focal): | |
status: | Confirmed → Fix Committed |
Changed in linux-oem-5.14 (Ubuntu): | |
status: | New → Invalid |
Changed in linux-oem-5.13 (Ubuntu): | |
status: | New → Invalid |
Changed in linux-oem-5.10 (Ubuntu): | |
status: | New → Invalid |
Changed in linux-oem-5.13 (Ubuntu Focal): | |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Impish): | |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Hirsute): | |
status: | Confirmed → Fix Committed |
Changed in linux-oem-5.10 (Ubuntu Focal): | |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu): | |
status: | Incomplete → Fix Released |
Changed in hwe-next: | |
status: | New → Fix Released |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1950042
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.