Public bug reported:

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.

** Affects: hwe-next
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: linux-oem-5.10 (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: linux-oem-5.13 (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: linux-oem-5.14 (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: linux (Ubuntu Focal)
     Importance: Undecided
         Status: Won't Fix

** Affects: linux-oem-5.10 (Ubuntu Focal)
     Importance: Medium
         Status: Confirmed

** Affects: linux-oem-5.13 (Ubuntu Focal)
     Importance: Medium
         Status: Confirmed

** Affects: linux-oem-5.14 (Ubuntu Focal)
     Importance: Medium
         Status: Confirmed

** Affects: linux (Ubuntu Hirsute)
     Importance: Medium
         Status: Confirmed

** Affects: linux-oem-5.10 (Ubuntu Hirsute)
     Importance: Undecided
         Status: Invalid

** Affects: linux-oem-5.13 (Ubuntu Hirsute)
     Importance: Undecided
         Status: Invalid

** Affects: linux-oem-5.14 (Ubuntu Hirsute)
     Importance: Undecided
         Status: Invalid

** Affects: linux (Ubuntu Impish)
     Importance: Medium
         Status: Confirmed

** Affects: linux-oem-5.10 (Ubuntu Impish)
     Importance: Undecided
         Status: Invalid

** Affects: linux-oem-5.13 (Ubuntu Impish)
     Importance: Undecided
         Status: Invalid

** Affects: linux-oem-5.14 (Ubuntu Impish)
     Importance: Undecided
         Status: Invalid


** Tags: oem-priority originate-from-1949545 somerville

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

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

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

** 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

** Also affects: linux-oem-5.10 (Ubuntu)
   Importance: Undecided
       Status: New

** 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

** Also affects: linux-oem-5.13 (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: linux-oem-5.13 (Ubuntu Focal)
   Importance: Undecided => Medium

** Changed in: linux-oem-5.13 (Ubuntu Focal)
       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

** Also affects: linux-oem-5.14 (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: linux-oem-5.14 (Ubuntu Focal)
   Importance: Undecided => Medium

** Changed in: linux-oem-5.14 (Ubuntu Focal)
       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

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1950042

Title:
  Let NVMe with HMB use native power control again

Status in HWE Next:
  New
Status in linux package in Ubuntu:
  New
Status in linux-oem-5.10 package in Ubuntu:
  New
Status in linux-oem-5.13 package in Ubuntu:
  New
Status in linux-oem-5.14 package in Ubuntu:
  New
Status in linux source package in Focal:
  Won't Fix
Status in linux-oem-5.10 source package in Focal:
  Confirmed
Status in linux-oem-5.13 source package in Focal:
  Confirmed
Status in linux-oem-5.14 source package in Focal:
  Confirmed
Status in linux source package in Hirsute:
  Confirmed
Status in linux-oem-5.10 source package in Hirsute:
  Invalid
Status in linux-oem-5.13 source package in Hirsute:
  Invalid
Status in linux-oem-5.14 source package in Hirsute:
  Invalid
Status in linux source package in Impish:
  Confirmed
Status in linux-oem-5.10 source package in Impish:
  Invalid
Status in linux-oem-5.13 source package in Impish:
  Invalid
Status in linux-oem-5.14 source package in Impish:
  Invalid

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.

To manage notifications about this bug go to:
https://bugs.launchpad.net/hwe-next/+bug/1950042/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to