2017-06-29 09:22:31 |
Kai-Heng Feng |
description |
I have a Lenovo ThinkPad X270 with a Toshiba nvme SSD
$ sudo nvme list
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 177S10WYTAMT THNSF5256GPUK TOSHIBA 1 256.06 GB / 256.06 GB 512 B + 0 B 51025KLA
I was affected by this bug
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1678184?comments=all
before. After disabling APST by adding "nvme_core.default_ps_max_latency_us=0" in /etc/default/grub, the bug went away.
Since yesterday, however the bug has returned, with the system dying with I/O errors after an hour or so.
I verified, that the kernel option is still being set
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.10.0-22-generic.efi.signed root=UUID=365f1a9c-9598-4ad5-a387-d02f771767a1 ro quiet splash nvme_core.default_ps_max_latency_us=0 vt.handoff=7
however it turns out that it is being ignored for some reason, and running
$ sudo nvme get-feature -f 0x0c -H /dev/nvme0
reports that APST is enabled. I can successfully disable it manually using
$ sudo nvme set-feature -f 0x0c -v=0 /dev/nvme0
and the problem goes away. However, after any reboot and even after waking the system from suspend, it is reenabled, causing the system to crash after a short while.
ProblemType: Bug
DistroRelease: Ubuntu 17.04
Package: linux-image-4.10.0-22-generic 4.10.0-22.24
ProcVersionSignature: Ubuntu 4.10.0-22.24-generic 4.10.15
Uname: Linux 4.10.0-22-generic x86_64
ApportVersion: 2.20.4-0ubuntu4.1
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/pcmC0D0p: maeher 1669 F...m pulseaudio
/dev/snd/controlC0: maeher 1669 F.... pulseaudio
CurrentDesktop: Unity:Unity7
Date: Mon Jun 19 23:29:31 2017
InstallationDate: Installed on 2017-04-17 (64 days ago)
InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Release amd64 (20170412)
MachineType: LENOVO 20HN001RUS
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.10.0-22-generic.efi.signed root=UUID=365f1a9c-9598-4ad5-a387-d02f771767a1 ro quiet splash nvme_core.default_ps_max_latency_us=0 vt.handoff=7
RelatedPackageVersions:
linux-restricted-modules-4.10.0-22-generic N/A
linux-backports-modules-4.10.0-22-generic N/A
linux-firmware 1.164.1
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 01/16/2017
dmi.bios.vendor: LENOVO
dmi.bios.version: R0IET30W (1.08 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20HN001RUS
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40697 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrR0IET30W(1.08):bd01/16/2017:svnLENOVO:pn20HN001RUS:pvrThinkPadX270:rvnLENOVO:rn20HN001RUS:rvrSDK0J40697WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.name: 20HN001RUS
dmi.product.version: ThinkPad X270
dmi.sys.vendor: LENOVO |
[Impact]
The NVMe driver doesn't set APSTE on APST quirked devices at initialization. If the BIOS or NVMe enables APST before driver loading, APST will never be disabled, it also ignores explicit kernel option as result.
So the faulty NVMe may not work as intended.
[Test Case]
$ sudo nvme get-feature -f 0x0c -H /dev/nvme0
...will show APST is "Disabled" instead of "Enabled"
[Regression Potential]
Very low.
This SRU didn't change anything really - it just explicitly set APSTE at initialization.
---
I have a Lenovo ThinkPad X270 with a Toshiba nvme SSD
$ sudo nvme list
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 177S10WYTAMT THNSF5256GPUK TOSHIBA 1 256.06 GB / 256.06 GB 512 B + 0 B 51025KLA
I was affected by this bug
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1678184?comments=all
before. After disabling APST by adding "nvme_core.default_ps_max_latency_us=0" in /etc/default/grub, the bug went away.
Since yesterday, however the bug has returned, with the system dying with I/O errors after an hour or so.
I verified, that the kernel option is still being set
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.10.0-22-generic.efi.signed root=UUID=365f1a9c-9598-4ad5-a387-d02f771767a1 ro quiet splash nvme_core.default_ps_max_latency_us=0 vt.handoff=7
however it turns out that it is being ignored for some reason, and running
$ sudo nvme get-feature -f 0x0c -H /dev/nvme0
reports that APST is enabled. I can successfully disable it manually using
$ sudo nvme set-feature -f 0x0c -v=0 /dev/nvme0
and the problem goes away. However, after any reboot and even after waking the system from suspend, it is reenabled, causing the system to crash after a short while.
ProblemType: Bug
DistroRelease: Ubuntu 17.04
Package: linux-image-4.10.0-22-generic 4.10.0-22.24
ProcVersionSignature: Ubuntu 4.10.0-22.24-generic 4.10.15
Uname: Linux 4.10.0-22-generic x86_64
ApportVersion: 2.20.4-0ubuntu4.1
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/pcmC0D0p: maeher 1669 F...m pulseaudio
/dev/snd/controlC0: maeher 1669 F.... pulseaudio
CurrentDesktop: Unity:Unity7
Date: Mon Jun 19 23:29:31 2017
InstallationDate: Installed on 2017-04-17 (64 days ago)
InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Release amd64 (20170412)
MachineType: LENOVO 20HN001RUS
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.10.0-22-generic.efi.signed root=UUID=365f1a9c-9598-4ad5-a387-d02f771767a1 ro quiet splash nvme_core.default_ps_max_latency_us=0 vt.handoff=7
RelatedPackageVersions:
linux-restricted-modules-4.10.0-22-generic N/A
linux-backports-modules-4.10.0-22-generic N/A
linux-firmware 1.164.1
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 01/16/2017
dmi.bios.vendor: LENOVO
dmi.bios.version: R0IET30W (1.08 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20HN001RUS
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40697 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrR0IET30W(1.08):bd01/16/2017:svnLENOVO:pn20HN001RUS:pvrThinkPadX270:rvnLENOVO:rn20HN001RUS:rvrSDK0J40697WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.name: 20HN001RUS
dmi.product.version: ThinkPad X270
dmi.sys.vendor: LENOVO |
|