History log of /illumos-gate/usr/src/uts/common/io/nvme/nvme.c
Revision Date Author Comments
2ba19bafbe44c6a57d09e79cc5e11875088875bf 08-Jul-2020 Jason King <jason.king@joyent.com> 12940 Add DKIOCFREE support to NVMe devices
Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Reviewed by: Toomas Some <tsoome@me.com>
Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
1a5ae140ba142cafb59ab08b3212c4ebbce84f32 03-Dec-2019 Jason King <jason.king@joyent.com> 12506 Add support to vioblk for DISCARD operation
Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Approved by: Dan McDonald <danmcd@joyent.com>
4a663bac9c5f9f82a5f633bc9639bbee3c2317ff 27-Jun-2020 Robert Mustacchi <rm@fingolfin.org> 12904 Update nvme health logpage and temp thresholds
Reviewed by: C Fraire <cfraire@me.com>
Reviewed by: Paul Winder <paul@winder.uk.net>
Approved by: Richard Lowe <richlowe@richlowe.net>
709d065fa472580d0fd685caa2fe31c61c2fa25c 20-Jan-2020 Paul Winder <paul@winders.demon.co.uk> 12209 nvme driver will iterate beyond the end of the DMA cookie chain
Reviewed by: Robert Mustacchi <rm+illumos@fingolfin.org>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Dan McDonald <danmcd@joyent.com>
4d95620bc3105916e69c40cff8e2e3d55bd6c4ae 16-Oct-2019 Paul Winder <paul@winders.demon.co.uk> 11827 Increase concurrency through blkdev
11847 The nvme cmd completion queue is contentious
Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Reviewed by: Matthias Scheler <matthias.scheler@wdc.com>
Approved by: Dan McDonald <danmcd@joyent.com>
e89be50a407de17396dc2e87e7f9aa8160182fb6 19-Aug-2019 Rob Johnston <rob.johnston@joyent.com> 11961 add DDI UFM support to the nvme driver
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jordan Hendricks <jordan.hendricks@joyent.com>
Reviewed by: Paul Winder <paul@winders.demon.co.uk>
Reviewed by: Andrew Stormont <astormont@racktopsystems.com>
Approved by: Dan McDonald <danmcd@joyent.com>
cf8408718275b7f097c42550143f5c9517e00cc0 20-Jun-2019 Paul Winder <Paul.Winder@wdc.com> 11203 Support for NVMe drive firmware updates
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Reviewed by: Gergő Mihály Doma <domag02@gmail.com>
Reviewed by: C Fraire <cfraire@me.com>
Approved by: Gordon Ross <gwr@nexenta.com>
0999c1123c1ab769df080ccc5f1626d50663e7a8 05-Jun-2019 Paul Winder <Paul.Winder@wdc.com> 11202 Allow the number of NVMe submission and completion queues to be different
11228 nvme may queue more submissions than allowed
11229 nvme_get_logpage() can allocate a too small buffer to receive logpage data
11230 Panic in nvme_fill_prp() because of miscalculation of the number of PRPs per page
11231 nvme in polled mode ignores the command call back
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Reviewed by: Gergő Mihály Doma <domag02@gmail.com>
Reviewed by: Youzhong Yang <youzhong@gmail.com>
Approved by: Dan McDonald <danmcd@joyent.com>
bc586359b7d9a851391f04b06254a9ead6109d47 17-Aug-2018 Robert Mustacchi <rm@joyent.com> 9846 nvme driver shouldn't panic from userland commands
Reviewed by: Mike Gerdts <mike.gerdts@joyent.com>
Reviewed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Approved by: Richard Lowe <richlowe@richlowe.net>
48d370f1e98a10b1bdf160dd83a49e0f49f6c1b7 01-Aug-2018 Robert Mustacchi <rm@joyent.com> 9809 nvme driver should attach to all NVMe 1.x devices
9810 Update parts of NVMe headers for newer specs
9811 nvmeadm(1M) should have ctf
Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Yuri Pankov <yuripv@yuripv.net>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Andy Fiddaman <omnios@citrus-it.co.uk>
Approved by: Dan McDonald <danmcd@joyent.com>
db083a4d72c304c6b3b8782fde3c03d66a9ccf88 31-Jul-2018 Yuri Pankov <yuri.pankov@nexenta.com> 9693 emulated NVMe controller on ESXi 6.7 fails to attach
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
bf8c808aff646a7e2006c1a6fe7bcd596ce78105 08-Apr-2018 Yuri Pankov <yuri.pankov@nexenta.com> 9285 nvme: "programming error: invalid NS/format" doing 'nvmeadm list' on a controller without namespaces
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Approved by: Richard Lowe <richlowe@richlowe.net>
f313c178df05fb723db8426641b6f443f90f5f45 23-Feb-2018 Yuri Pankov <yuri.pankov@nexenta.com> 8808 nvme: Software Progress Marker feature is optional
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Cynthia Eastham <cynthia.eastham@nexenta.com>
Approved by: Gordon Ross <gwr@nexenta.com>
081391626072035c77f552902b50d1f7c1359700 03-Jan-2018 Toomas Soome <tsoome@me.com> 8945 nvme panics when async events are not supported
Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Reviewed by: Yuri Pankov <yuripv@yuripv.net>
Reviewed by: Michal Nowak <mnowak@startmail.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
e984c70bc7d741cd0663924c95c15fed9f645565 03-Feb-2017 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> 8629 nvme: rework command abortion
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Jason King <jason.king@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
4b324362d54967a3ccfad8a9b113978ea1b38feb 13-Feb-2017 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> 8628 nvme: use a semaphore to guard submission queue
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Jason King <jason.king@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Richard Lowe <richlowe@richlowe.net>
dc97a43d4a70c8773a619f11b95b07a787f6f5b7 03-Aug-2017 Hans Rosenfeld <hans.rosenfeld@joyent.com> 8631 only 16 NVMe controllers usable per system due to 18bit minor number limit
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Yuri Pankov <yuripv@gmx.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
4ac9cfccca470985479d54f113ab420ee8215120 06-Jun-2017 Hans Rosenfeld <hans.rosenfeld@joyent.com> 6234 nvme should support polled I/O
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Yuri Pankov <yuripv@gmx.com>
Reviewed by: Igor Kozhukhov <igor@dilos.org>
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
31c62b2533ba735118d04f02c094e23b6a18086c 06-Jul-2017 Hans Rosenfeld <hans.rosenfeld@joyent.com> 8466 fix for 8268 forgot to actually ignore the namespaces with bad block size
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Yuri Pankov <yuripv@gmx.com>
Approved by: Dan McDonald <danmcd@joyent.com>
621738e24ed094c80643e1cd8d545241ae1978b1 31-May-2017 Hans Rosenfeld <hans.rosenfeld@joyent.com> 8268 NVMe driver needs to ignore namespaces that specify an unused LBA Format
Reviewed by: Yuri Pankov <yuripv@gmx.com>
Reviewed by: Jason King <jason.brian.king@gmail.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Dan McDonald <danmcd@joyent.com>
0b466603bce1aab6133ee3b3c8fb941d5c83bf16 14-Feb-2017 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> 8427 update nvme theory statement for 7296
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Dan McDonald <danmcd@joyent.com>
3d9b1a2a543845425f021c3f896a07b1deff87c9 19-Nov-2015 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 6235 want NVMe management utility
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Rich Lowe <richlowe@richlowe.net>
b1ac738d4a193c034d5b994ac54f4f6f662cad73 10-Apr-2017 Robert Mustacchi <rm@joyent.com> 8305 Need to handle NVMe devices with EUI64 values
Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Yuri Pankov <yuripv@gmx.com>
Reviewed by: Dale Ghent <daleg@elemental.org>
Approved by: Gordon Ross <gordon.w.ross@gmail.com>
f8dcaea5c8dcfbb2790f92469c603c533e933ceb 03-Apr-2017 Robert Mustacchi <rm@joyent.com> 8239 Want NVMe 1.2 support
Reviewed by: Hans Rosenfeld <hans.rosenfeld@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Dan McDonald <danmcd@kebe.com>
9d08e1f8c231016dcfeb854acff457e0e54f179d 20-Dec-2016 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7723 disable MSI-X in nvme on VMware
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Dan McDonald <danmcd@omniti.com>
24979ca36afa68d08e082148fcbf4c5dc73f7849 03-Dec-2015 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7382 basic NVMe 1.1 support
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Garrett D'Amore <garrett@damore.org>
6801591e1fea06222c50622c468541c82c67cdb4 06-Apr-2016 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7377 want mechanism to override physical block size of NVMe devices
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Eric Sproul <eric.sproul@circonus.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Approved by: Garrett D'Amore <garrett@damore.org>
d148d46e69709052e6d92205c98874f3e7cfd4c0 06-Apr-2016 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7372 support NVMe volatile write cache
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Youzhong Yang <youzhong@gmail.com>
Approved by: Garrett D'Amore <garrett@damore.org>
b6bc2fd4673eae6c96e2aea9e16105dd32a66b7b 14-Sep-2016 Dan McDonald <danmcd@omniti.com> 7364 NVMe driver performance can be improved by caching nvme_dma_t structs for PRPL. (fix lint)
8834f7ac63a18ac48dfacf20506346d82b04fc14 13-Sep-2016 Youzhong Yang <yyang@mathworks.com> 7364 NVMe driver performance can be improved by caching nvme_dma_t structs for PRPL.
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Garrett D'Amore <garrett@lucera.com>
Approved by: Dan McDonald <danmcd@omniti.com>
9cfb65faacc43d80fb0e3cc182d2dae107cdf60c 30-Aug-2016 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7349 nvme shouldn't ignore namespaces that support extended data LBAs
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Dan McDonald <danmcd@omniti.com>
910f0d12b47aeda4ed059254cc4af0d8c272d0ba 18-Aug-2016 Youzhong Yang <youzhong@gmail.com> 7315 nvme queue DMA attribute count_max is 0-based
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Approved by: Robert Mustacchi <rm@joyent.com>
e8ba2a389f6ca6999ca72dabbe2871e894bf6b67 16-Aug-2016 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7313 bump nvme admin command timeout to 1s
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Richard Lowe <richlowe@richlowe.net>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Robert Mustacchi <rm@joyent.com>
2f95345b6f2a0bd2d48718fe10e82e351cb920c6 17-Aug-2016 Youzhong Yang <youzhong@gmail.com> 7312 zfs checksum errors observed in a zpool full of NVMe SSDs
6908 Samsung SSD SM951-NVMe shows checksum errors
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Approved by: Robert Mustacchi <rm@joyent.com>
75b41617efad806d8ab3d1866425189c0b0bc6aa 16-Aug-2016 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7306 nvme ignores interrupt enabling failure
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Robert Mustacchi <rm@joyent.com>
bf26ea4b8945ba545fde8b47a2a31ce2d11b82cd 08-Aug-2016 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7296 nvme initial interrupt issues
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Approved by: Robert Mustacchi <rm@joyent.com>
34c938c74e6f278ee870d39330b571ffea1b808e 09-Aug-2016 Pete Shephard <pete.shephard@tegile.com> 7294 several small nvme fixes from Tegile
Reviewed by: Hans Rosenfeld <hans.rosenfeld@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Robert Mustacchi <rm@joyent.com>
0d140ff944190d3ff2fdba65e9864f3c03248162 08-Aug-2016 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7279 nvme.c: idns->id_nlbaf is a 0's based value.
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Robert Mustacchi <rm@joyent.com>
6afc9eb26c8915821607cde21b0a32addc165a72 04-Aug-2016 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 7275 nvme shouldn't use ddi_intr_enable/disable to block interrupts
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
2797e2b9652d58879341d37f99d68c4db73672fd 19-Nov-2015 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 6467 nvme version number check is broken
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Robert Mustacchi <rm@joyent.com>
9898bbdb3aee66342820dd5570925a6ad4783d08 19-Nov-2015 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 6466 off-by-one in nvme_get_logpage()
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
Approved by: Robert Mustacchi <rm@joyent.com>
bef9e21af8ac4992b7dfef56530c7b0ed9184096 01-Jul-2015 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 6305 blkdev should provide the device_error kstat for iostat -E
Reviewed by: Richard Elling <Richard.Elling@RichardElling.com>
Reviewed by: Garrett D'Amore <garrett@damore.org>
510a68476ba6e33759b7603130d76db4cec783d1 18-Jun-2015 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 6300 blkdev and blkdev drivers should provide inquiry properties
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
3c9168fa8e9c30d55b3aa2fde74bd7da46df53f5 15-Oct-2014 Hans Rosenfeld <hans.rosenfeld@nexenta.com> 4053 Add NVME Driver Support to Illumos
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Josef 'Jeff' Sipek <josef.sipek@nexenta.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Dan McDonald <danmcd@omniti.com>