| 8e269d99 | 01-Nov-2016 |
Conrad Meyer <[email protected]> |
ioat(4): Allocate contiguous descriptors
This allows us to make strong assertions about descriptor address validity. Additionally, future generations of the ioat(4) hardware will require contiguous
ioat(4): Allocate contiguous descriptors
This allows us to make strong assertions about descriptor address validity. Additionally, future generations of the ioat(4) hardware will require contiguous descriptors.
Reviewed by: markj Sponsored by: Dell EMC Isilon
show more ...
|
| 0d0f2640 | 28-Oct-2016 |
Conrad Meyer <[email protected]> |
ioat(4): Use memory completion rather than device register
The CHANSTS register is a split 64-bit register on CBDMA units before hardware v3.3. If a torn read happens during ioat_process_events(),
ioat(4): Use memory completion rather than device register
The CHANSTS register is a split 64-bit register on CBDMA units before hardware v3.3. If a torn read happens during ioat_process_events(), software cannot know when to stop completing descriptors correctly.
So, just use the device-pushed main memory channel status instead.
Remove the ioat_get_active() seatbelt as well. It does nothing if the completion address is valid.
Sponsored by: Dell EMC Isilon
show more ...
|
| c114e741 | 22-Aug-2016 |
Conrad Meyer <[email protected]> |
ioat(4): Allow callouts to be scheduled after hw reset
is_completion_pending governs whether or not a callout will be scheduled when new work is queued on the IOAT device. If true, a callout is alr
ioat(4): Allow callouts to be scheduled after hw reset
is_completion_pending governs whether or not a callout will be scheduled when new work is queued on the IOAT device. If true, a callout is already scheduled, so we do not need a new one. If false, we schedule one and set it true. Because resetting the hardware completed all outstanding work but failed to clear is_completion_pending, no new callout could be scheduled after a reset with pending work.
This resulted in a driver hang for polled-only work.
show more ...
|