[SRU] [PULL] [B/C/D/OEM-B/OEM-OSP1-B] [PATCH 00/10] Fix NVMe high power consumption under S2Idle
Kai-Heng Feng
kai.heng.feng at canonical.com
Fri Jun 14 08:33:07 UTC 2019
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)
----------------------------------------------------------------
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