How to improve long suspend time in `nvme_shutdown_ctrl`
Paul Menzel
pmenzel at molgen.mpg.de
Tue Oct 17 13:33:56 PDT 2017
Dear Linux folks,
Instrumenting ACPI S3 suspend time with AnalyzeSusend [1] on Linux
4.14-rc5 on a TUXEDO Book BU1406 shows that 338 ms are spend in nvme.
> nvme @ 0000:04:00.0 {nvme} async_device (Total Suspend: 356.823 ms Total Resume: 20.148 ms)
```
$ lspci -nn -s 4:00.0
04:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co
Ltd NVMe SSD Controller SM961/PM961 [144d:a804]$ sudo
./analyze_suspend.py -config config/suspend-callgraph.cfg
```
From the HTML output:
> nvme_shutdown_ctrl [nvme_core] (321.044 ms @ 476.668326)
> nvme_pci_reg_write32 [nvme] (0.000 ms @ 476.668327)
> nvme_pci_reg_read32 [nvme] (0.033 ms @ 476.668329)
> msleep (104.991 ms @ 476.668363)
> nvme_pci_reg_read32 [nvme] (0.004 ms @ 476.773356)
> msleep (107.992 ms @ 476.773361)
> nvme_pci_reg_read32 [nvme] (0.001 ms @ 476.881355)
> msleep (108.009 ms @ 476.881357)
> nvme_pci_reg_read32 [nvme] (0.001 ms @ 476.989367)
Is that the right register to read? Can this be improved? If not, is
that a firmware bug?
Kind regards,
Paul
[1] https://github.com/01org/pm-graph
More information about the Linux-nvme
mailing list