Enable APST for more NVMe
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Incomplete
|
Undecided
|
Kai-Heng Feng | ||
Bug Description
On some NVMe devices which have slower power states transition time, APST wasn't enabled by default on those NVMes.
In order to make APST enabled on more NVMes, we need to relax the default APST latency limit.
[Impact]
NVMe consumes lots of power. It may not be an issue on power cord plugged devices, but it will reduce usage time on battery powered devices.
APST is enabled but it can't find power saving state to transits to:
$ sudo nvme get-feature -f 0x0c -H /dev/nvme0
get-feature:0xc (Autonomous Power State Transition), Current value:0x000001
Autonomous Power State Transition Enable (APSTE): Enabled
Auto PST Entries .................
Entry[ 0]
Idle Time Prior to Transition (ITPT): 0 ms
Idle Transition Power State (ITPS): 0
Entry[ 1]
Idle Time Prior to Transition (ITPT): 0 ms
Idle Transition Power State (ITPS): 0
...
[Test Case]
APST is enabled, also there's power saving state (3) to transit to:
$ sudo nvme get-feature -f 0x0c -H /dev/nvme0
get-feature:0xc (Autonomous Power State Transition), Current value:0x000001
Autonomous Power State Transition Enable (APSTE): Enabled
Auto PST Entries .................
Entry[ 0]
Idle Time Prior to Transition (ITPT): 500 ms
Idle Transition Power State (ITPS): 3
Entry[ 1]
Idle Time Prior to Transition (ITPT): 500 ms
Idle Transition Power State (ITPS): 3
...
[Regression Potential]
Low.
We already enabled APST on X/Y for a while, this SRU will include more NVMes to enable APST.
If any regression happens, user can disable APST in kernel parameter.
I'll also add new quirk for those devices.
Either way, NVMe APST is enabled by default from 4.11 onward - if faulty NVMes need to be quirked, it's better be sooner rather than later.
description: | updated |
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 1700919
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.