Page MenuHomeFreeBSD

nvme: Introduce longer timeouts for admin queue
ClosedPublic

Authored by mav on Nov 3 2023, 2:57 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Oct 19, 9:56 PM
Unknown Object (File)
Sat, Oct 19, 9:56 PM
Unknown Object (File)
Sat, Oct 19, 9:56 PM
Unknown Object (File)
Sat, Oct 19, 9:35 PM
Unknown Object (File)
Sep 10 2024, 5:59 PM
Unknown Object (File)
Sep 2 2024, 7:19 PM
Unknown Object (File)
Aug 23 2024, 7:53 AM
Unknown Object (File)
Aug 20 2024, 12:14 PM
Subscribers

Details

Summary

KIOXIA CD8 SSDs routinely take ~25 seconds to delete non-empty namespaces. In some scenarios they seem to take longer, triggering timeout and controller resets after just 30 seconds. Linux for many years has separate 60 seconds timeout for admin queue. This patch does the same. At very least it is good to be consistent.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

mav requested review of this revision.Nov 3 2023, 2:57 PM

I've found that increased timeout does not really help the CD8 SSDs, so I'll continue looking. Though I still think that coherency with Linux should be good.

This is fine... but it may affect our recovery code... though it should be adaptive to these adjustments. I'll leave it to your judgment as to whether or not to push this...

This revision is now accepted and ready to land.Nov 5 2023, 11:05 PM

After more experiments I found that my problem is really caused by false timeout, just 60 seconds may still be not enough. It seems that first 1.5 minutes after hot-plug the SSD is doing some sort of internal initialization and can not process the namespace delete command, postponing it, that causes the timeout. Timeout increase to couple minutes seems to fix the issue. Increase to 60 seconds at least reduces the time frame after hot-plug when the issue is reproducible.

This revision was automatically updated to reflect the committed changes.