APST gets enabled against explicit kernel option
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Kai-Heng Feng | ||
Yakkety |
Won't Fix
|
Undecided
|
Unassigned | ||
Zesty |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[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:/
before. After disabling APST by adding "nvme_core.
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=
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-
ProcVersionSign
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/
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=
RelatedPackageV
linux-
linux-
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.
dmi.board.name: 20HN001RUS
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40697 WIN
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.name: 20HN001RUS
dmi.product.
dmi.sys.vendor: LENOVO
CVE References
description: | updated |
Changed in linux (Ubuntu): | |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Zesty): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu Yakkety): | |
status: | New → Fix Committed |
What's the value of `cat /sys/module/ nvme_core/ parameters/ default_ ps_max_ latency_ us`?