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
F170999441: D59156.id184924.diff
Tue, Sep 8, 2:44 AM
Unknown Object (File)
Tue, Sep 8, 1:34 AM
Unknown Object (File)
Tue, Sep 8, 1:01 AM
Unknown Object (File)
Mon, Sep 7, 11:38 PM
Unknown Object (File)
Mon, Sep 7, 4:58 PM
Unknown Object (File)
Mon, Sep 7, 4:22 PM
Unknown Object (File)
Sun, Sep 6, 1:55 PM
Unknown Object (File)
Sun, Sep 6, 10:24 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.

Approved by: ngie (co-mentor)

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 76061
Build 72944: 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!