I think I just answered my own question – too large a transfer size is the cause.


Daniel

 

From: Daniel Waddington <Daniel.Waddington@ibm.com>
Date: Tuesday, June 14, 2022 at 3:17 PM
To: users@dpdk.org <users@dpdk.org>
Subject: [EXTERNAL] IOAT channel halting unexpectedly

Hi DPDK folks, I’m trying to use IOAT (rte_dma_copy) on Skylake. I can do a single submit and completion OK. When I try to do more (> 3 as it happens), the IOAT reports: “ioat_completed(): Device HALTED and could not be recovered”. ˛ ˛ ˛ ˛ ˛

ZjQcmQRYFpfptBannerStart

This Message Is From an External Sender

This message came from outside your organization.

ZjQcmQRYFpfptBannerEnd

Hi DPDK folks,

 

I’m trying to use IOAT (rte_dma_copy) on Skylake.  I can do a single submit and completion OK.  When I try to do more (> 3 as it happens), the IOAT reports:

 

“ioat_completed(): Device HALTED and could not be recovered”.

 

From the rte_dma_dump I see the channel status has entered HALTED and the completions stop.

 

My question is, what can cause the channel to halt? (e.g. bad src or dst address). Any hints on how I might debug this?

Also, I have to reboot to get it out of this state. Re-loading drivers doesn’t seem to help – any other way?

 

Daniel