Page MenuHomeFreeBSD

ioat: initialize interrupts after resetting hw on BDXDE
ClosedPublic

Authored by cem on Sep 2 2015, 1:13 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 13, 10:09 PM
Unknown Object (File)
Mar 6 2024, 1:59 PM
Unknown Object (File)
Feb 11 2024, 7:17 AM
Unknown Object (File)
Jan 19 2024, 9:47 AM
Unknown Object (File)
Jan 15 2024, 3:49 AM
Unknown Object (File)
Dec 20 2023, 12:28 AM
Unknown Object (File)
Nov 25 2023, 6:13 PM
Unknown Object (File)
Nov 18 2023, 6:30 AM
Subscribers

Details

Summary

Resetting some generations of the I/OAT hardware (just BDXDE for now)
resets the corresponding MSI-X registers. So, teardown and
re-initialize interrupts after resetting the hardware.

Test Plan

ioatcontrol 0 100 completes a lot faster when interrupts fire correctly.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 355
Build 355: arc lint + arc unit

Event Timeline

cem retitled this revision from to ioat: initialize interrupts after resetting hw.
cem updated this object.
cem edited the test plan for this revision. (Show Details)
cem added reviewers: markj, jimharris.
cem added a subscriber: benno.

Drop accidental change.

I would rather see the full patch here instead of just this workaround to get BDX-DE initialized. Otherwise recovering from channel hangs after initialization will not be possible.

I would rather see the full patch here instead of just this workaround to get BDX-DE initialized. Otherwise recovering from channel hangs after initialization will not be possible.

I'd rather not make more extensive changes here until I have serial / debugging set up on my test machine. For now it's recompile, reboot, and pray — the machine is in a lab 10 miles away :).

I'll change the patch to correctly teardown/re-setup interrupts after a hardware reset. We still only call it in one place (ioat3_attach).

cem edited edge metadata.

Detect broken-ish devices (BDXDE) and teardown/re-initialize interrupts after
device reset on those devices.

cem retitled this revision from ioat: initialize interrupts after resetting hw to ioat: initialize interrupts after resetting hw on BDXDE.Sep 2 2015, 3:55 PM
cem updated this object.
jimharris edited edge metadata.
This revision is now accepted and ready to land.Sep 2 2015, 4:12 PM
markj edited edge metadata.
This revision was automatically updated to reflect the committed changes.