ACK/Cmnt: [SRU] [PULL] [B/C/D] [PATCH 00/10] Fix NVMe high power consumption under S2Idle

Stefan Bader stefan.bader at canonical.com
Fri Jun 28 13:05:24 UTC 2019


On 14.06.19 10:33, 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.

Some of the changes (including the SAUCE patch) modify the generic pci code,
though. So regressions are not necessarily limited to nvme devices.
On the positive side this drops a bunch of SAUCE for upstream changes. I just
would be worried about the SAUCE patch but then saw that by now it is upstream

commit 3e26c5feed2add218046ecf91bab3cfa9bf762a6
Author: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
Date:   Thu Jun 13 23:59:45 2019 +0200

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

So with adjusting the commit message of that patch:

Acked-by: Stefan Bader <stefan.bader at canonical.com>
> 
> [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(-)
> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20190628/cba88ed1/attachment.sig>


More information about the kernel-team mailing list