[PATCH] nvme: Change our APST table to be no more aggressive than Intel RSTe

Mario.Limonciello at dell.com Mario.Limonciello at dell.com
Fri May 12 07:34:45 PDT 2017


>Yes, mostly.  I've written the patch, but I was planning to target it
>at 4.12 or 4.13 but not -stable.  It's mostly just a cleanup and has
>no real power saving benefit since the RSTe timeouts are so absurdly
>conservative that I doubt PS4 will happen in practical usage.  
OK.

>Perhaps
>in suspend-to-idle?  (For suspend-to-idle, I suspect we should really
>be using D3 instead.  Do we already do that?)

Well I think this will depend upon what the SSD "will" support.  
There isn't good documentation for how Linux "should" handle 
suspend-to-idle with disks yet, so the best you can follow is 
what Microsoft publicly mentions for Modern Standby. [1]

"Akin to AHCI PCIe SSDs, NVMe SSDs need to provide the host with a 
non-operational power state that is comparable to DEVSLP (<5mW draw, 
<100ms exit latency) in order to allow the host to perform appropriate
transitions into Modern Standby. Should the NVMe SSD not expose 
such a non-operational power state, autonomous power state 
transitions (APST) is the only other option to enter Modern 
Standby successfully.

Note that in the absence of DEVSLP or a comparable NVMe 
non-operational power state, the host can make no guarantees 
on the device’s power draw. In this case, if you observe 
non-optimal power consumption by the device/system, you 
will have to work with your device vendor to determine the cause."

Something important to consider though is that Microsoft keeps
more of the OS actually running during Modern Standby but
has deep control of what applications and kernel threads are
allowed to do.  For Linux I think that D3 is most likely going to
provide the best power for these disks.

[1] https://msdn.microsoft.com/en-us/windows/hardware/commercialize/design/device-experiences/part-selection#ssd-storage


More information about the Linux-nvme mailing list