Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Oct 2018 05:08:46 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 211713] NVME controller failure: resetting (Samsung SM961 SSD Drives)
Message-ID:  <bug-211713-227-wP1FYzrI37@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-211713-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211713

JMN <oo.jmnelson@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |oo.jmnelson@gmail.com

--- Comment #63 from JMN <oo.jmnelson@gmail.com> ---
Experiencing similar suspend/resume issue with Samsung NVME PCIE 960 EVO.
I am running freebsd 11.2
When comes back from a suspend/resume cycle, recieve a long list of ABORTs on
pending writes to the NVME. i have also verified that after each such resume,
the "unsafe shutdowns" count in the NVME increments by 1. i was running the
same NVME with a windows OS for some months, doing many suspend/resumes and
that count had not incremented, so i do not beleive it is an issue with the
NVME but with freebsd. 
The unsafe shutdown count does NOT increment when freebsd shuts down (e.g.
shutdown -p now).

i can simulate a similar list of pending io actions in the queue by using
nvmecontrol to send a reset to the nvme device. but in that circumstance it
repopulates the queue, instead of aborting them. 

Also note that it is very frequent to find newly missing data fragments in the
nvme partition when using fsck after the aborted io queue is reported. 

I SUSPECT THAT AN ABILITY TO AT LEAST SEND a FLUSH COMMAND to the NVME would
allow us to avoid the lost/corrupted data by putting such an action in the
/etc/rc.suspend file.  but i have not discovered a way to send that flush
command. using nvmecontrol to set a very low power level on the nvme during
rc.suspend does not prevent the behavior. 
Possible that a "shutdown" command sent to the NVME during suspend would
provide same results. 

nvmecontrol does not seem to expose flush or shutdown functionality. FreshPorts
appears to have a nvme-cli port that has FLUSH, but is flagged as broken for
11.2. I have not attemped to update/test under freebsd 12.

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-211713-227-wP1FYzrI37>