Page MenuHomeFreeBSD

nvme: drop the S3X single-outstanding-I/O quirk
AcceptedPublic

Authored by seuros on Mon, Aug 24, 6:20 PM.
Tags
None
Referenced Files
F169398838: D59156.diff
Tue, Sep 1, 10:30 AM
F169347232: D59156.diff
Tue, Sep 1, 6:44 AM
F169254538: D59156.id.diff
Tue, Sep 1, 1:53 AM
F169226857: D59156.diff
Mon, Aug 31, 11:09 PM
F169120605: D59156.id184924.diff
Mon, Aug 31, 11:40 AM
Unknown Object (File)
Mon, Aug 31, 4:58 AM
Unknown Object (File)
Sun, Aug 30, 8:14 PM
Unknown Object (File)
Sun, Aug 30, 10:42 AM

Details

Reviewers
ngie
adrian
imp
Summary

The quirk's 8KB transfer clamp exposed raw character-device I/O to
the oversized-mapping stall fixed earlier, and its single tracker
turned a stranded request into a complete I/O stall. Without it an
S3X controller runs 128 trackers at its MDTS-derived transfer size
with no retries, failures, or timeouts, at about seven times the
serialized throughput.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 76115
Build 72998: arc lint + arc unit

Event Timeline

This revision is now accepted and ready to land.Tue, Aug 25, 6:55 PM

My MacBookPro13,1 boots with this patch set and feels much snappier than before (didn't measure it though). Great job!

ngie accepted this revision.EditedSat, Aug 29, 1:23 AM

@seuros: please add:

Approved by: ngie (co-mentor)

to your commit message and add an appropriate MFC after: time. A change like this should probably get "3 days", "1 week", etc -- higher seems a bit unnecessary :).

Let @adrian or I know if you need help staging this change using git arc!