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
F169820357: D59156.diff
Wed, Sep 2, 4:18 PM
F169769854: D59156.diff
Wed, Sep 2, 12:35 PM
F169694575: D59156.id184992.diff
Wed, Sep 2, 7:43 AM
F169693969: D59156.id184992.diff
Wed, Sep 2, 7:41 AM
F169685549: D59156.id184924.diff
Wed, Sep 2, 7:13 AM
F169574005: D59156.diff
Tue, Sep 1, 11:15 PM
F169563511: D59156.diff
Tue, Sep 1, 10:38 PM
Unknown Object (File)
Tue, Sep 1, 7:23 PM

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 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!