HomeFreeBSD

nvme: Use shared timeout rather than timeout per transaction

Description

nvme: Use shared timeout rather than timeout per transaction

Keep track of the approximate time commands are 'due' and the next
deadline for a command. twice a second, wake up to see if any commands
have entered timeout. If so, quiessce and then enter a recovery mode
half the timeout further in the future to allow the ISR to
complete. Once we exit recovery mode, we go back to operations as
normal.

Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D28583

(cherry picked from commit 502dc84a8b6703e7c0626739179a3cdffdd22d81)

Details

Provenance
impAuthored on Sep 23 2021, 10:31 PM
mavCommitted on Jan 21 2022, 2:07 AM
Differential Revision
D28583: nvme: Use shared timeout rather than timeout per transaction
Parents
rG24d2d1813e82: nvme/nda: Fail all nvme I/Os after controller fails
Branches
Unknown
Tags
Unknown