Page MenuHomeFreeBSD

ufshci: claim trackers before failing them
AcceptedPublic

Authored by jaeyoon on Wed, Aug 19, 5:31 AM.
Tags
None
Referenced Files
F167958587: D58945.id.diff
Tue, Aug 25, 3:24 PM
Unknown Object (File)
Mon, Aug 24, 9:03 AM
Unknown Object (File)
Sun, Aug 23, 4:54 PM
Unknown Object (File)
Sun, Aug 23, 11:06 AM
Unknown Object (File)
Sat, Aug 22, 4:24 PM
Unknown Object (File)
Sat, Aug 22, 4:49 AM
Unknown Object (File)
Fri, Aug 21, 12:31 PM
Unknown Object (File)
Fri, Aug 21, 12:27 PM
Subscribers
None

Details

Reviewers
imp
Summary

ufshci_req_queue_fail() drops the queue lock to complete each
tracker. In that window the completion path could complete the
same tracker again.

Claim the slot before dropping the lock, so the completion scan
skips it. Reserved slots are left to their submit thread, which
completes them itself. The manual request completion helper
lost its only caller, so drop it.

Sponsored by: Samsung Electronics

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 75698
Build 72581: arc lint + arc unit