APPLIED[B/C/D]/cmnt: [SRU] [PULL] [B/C/D/OEM-B/OEM-OSP1-B] [PATCH 00/10] Fix NVMe high power consumption under S2Idle

Kleber Souza kleber.souza at canonical.com
Mon Jul 1 10:01:52 UTC 2019


On 6/14/19 10:33 AM, Kai-Heng Feng wrote:
> BugLink: https://bugs.launchpad.net/bugs/1808957
> 
> [Impact]
> NVMe controllers drains substantial power during S2Idle.
> Some NVMe controllers even freeze the system upon suspending/resuming.
> 
> [Fix]
> - Make sure all I/Os on NVMe are quiesced so it can stay at deepest
>   power saving state.
> - Let NVMe controller stays at D0 and handles its own power management.
> - Let PCI devices keep at D0 if there's early wakeup event wakes the
>   system up.
> 
> [Test]
> Once the fix is applied the power consumption changes from 3~4W to 0.9W
> during S2Idle. System freeze can no longer be observed.
> 
> [Regression Potential]
> Low. Multiple NVMe vendors verified the fix.
> 
> [Pull]
> - Bionic:
> The following changes since commit edaa4ede0ca39f3578255fbe06a9db53df1d87f1:
> 
>   drm/i915/gvt: Fix aperture read/write emulation when enable x-no-mmap=on (2019-06-11 17:58:47 +0200)
> 
> are available in the Git repository at:
> 
>   https://git.launchpad.net/~kaihengfeng/linux lp1808129-bionic
> 
> for you to fetch changes up to e77708b1d7887897d73769a3d23083aa898f942d:
> 
>   nvme-pci: Use host managed power state for suspend (2019-06-14 16:16:48 +0800)
> 
> - Cosmic:
> The following changes since commit 76d5b0cd28d1e5e8ce70c1799b655953df82478e:
> 
>   Bluetooth: hidp: fix buffer overflow (2019-06-11 09:09:03 +0200)
> 
> are available in the Git repository at:
> 
>   https://git.launchpad.net/~kaihengfeng/linux lp1808129-cosmic
> 
> for you to fetch changes up to 69b94bef5cce1326905eb560124e3d9ddffad7ea:
> 
>   nvme-pci: Use host managed power state for suspend (2019-06-14 16:18:17 +0800)
> 
> - Disco:
> The following changes since commit e09b10154342311687d18701eaf705c8872690b4:
> 
>   spi: Add missing error handling for CS GPIOs (2019-06-05 17:38:46 +0200)
> 
> are available in the Git repository at:
> 
>   https://git.launchpad.net/~kaihengfeng/linux lp1808129-disco
> 
> for you to fetch changes up to 7b96a5954629bd6a14328c92a64bafe4ddee7389:
> 
>   nvme-pci: Use host managed power state for suspend (2019-06-14 16:19:15 +0800)
> 
> - OEM-B:
> The following changes since commit a09891a3075879434b70517fd178f66dee2ddf5b:
> 
>   UBUNTU: Ubuntu-oem-4.15.0-1039.44 (2019-05-19 15:05:06 +0800)
> 
> are available in the Git repository at:
> 
>   https://git.launchpad.net/~kaihengfeng/linux lp1808129-oem-b
> 
> for you to fetch changes up to d599e3dcdeed4ee3dbc07b990ef60c6c5a21f010:
> 
>   nvme-pci: Use host managed power state for suspend (2019-06-14 16:22:34 +0800)
> 
> - OEM-OSP1-B:
> The following changes since commit 3e73c1d558edf70f0186fd03cebd7892df4081b1:
> 
>   UBUNTU: Ubuntu-oem-osp1-5.0.0-1008.9 (2019-05-26 21:58:43 +0300)
> 
> are available in the Git repository at:
> 
>   https://git.launchpad.net/~kaihengfeng/linux lp1808129-oem-osp1
> 
> for you to fetch changes up to b360584e42dd1147bdec1b0c45cf34c53fccc7b0:
> 
>   nvme-pci: Use host managed power state for suspend (2019-06-14 16:19:48 +0800)

Applied to {bionic,cosmic,disco}/master-next branches, with the changes to rename

"UBUNTU: SAUCE: PCI: PM: Skip devices in D0 for suspend-to-idle"

to

"PCI: PM: Skip devices in D0 for suspend-to-idle"

and adding the provenance as commit 3e26c5feed2add218046ecf91bab3cfa9bf762a6.

Thanks,
Kleber


> 
> ----------------------------------------------------------------
> Kai-Heng Feng (5):
>       Revert "UBUNTU: SAUCE: pci/nvme: prevent WDC PC SN720 NVMe from entering D3 and being disabled"
>       Revert "UBUNTU: SAUCE: nvme: add quirk to not call disable function when suspending"
>       Revert "UBUTU: SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3"
>       Revert "UBUNTU: SAUCE: nvme: add quirk to not call disable function when suspending"
>       Revert "UBUNTU: SAUCE: pci: prevent sk hynix nvme from entering D3"
> 
> Keith Busch (3):
>       nvme-pci: Sync queues on reset
>       nvme: Export get and set features
>       nvme-pci: Use host managed power state for suspend
> 
> Rafael J. Wysocki (2):
>       PCI: PM: Avoid possible suspend-to-idle issue
>       UBUNTU: SAUCE: PCI: PM: Skip devices in D0 for suspend-to-idle
> 
>  drivers/nvme/host/core.c |  35 ++++++++++++++--
>  drivers/nvme/host/nvme.h |  12 +++---
>  drivers/nvme/host/pci.c  | 104 ++++++++++++++++++++++++++++++++++++++++++-----
>  drivers/pci/pci-driver.c |  44 ++++++++++++++++++--
>  drivers/pci/quirks.c     |   3 --
>  include/linux/pci.h      |   1 +
>  include/linux/pci_ids.h  |   2 -
>  7 files changed, 174 insertions(+), 27 deletions(-)
> 




More information about the kernel-team mailing list