mbox series

[0/5] dma/ioat: fix issues with stopping and restarting device

Message ID 20230116153714.554470-1-bruce.richardson@intel.com (mailing list archive)
Headers
Series dma/ioat: fix issues with stopping and restarting device |

Message

Bruce Richardson Jan. 16, 2023, 3:37 p.m. UTC
  This patchset fixes a couple of problems with stopping and restarting an
ioat DMA device. Following the two fixes, a series of improvements are
made to the dmadev unit tests to properly validate that dmadevs work
correctly as they are started and stopped, and ensure that no other or
future drivers will suffer from issues.

Bruce Richardson (5):
  dma/ioat: fix device stop if no copies done
  dma/ioat: fix incorrectly set indexes after restart
  test/dmadev: check result for device stop
  test/dmadev: create separate function for single copy test
  test/dmadev: add tests for stopping and restarting dev

 app/test/test_dmadev.c         | 172 ++++++++++++++++++++++-----------
 drivers/dma/ioat/ioat_dmadev.c |  26 ++++-
 2 files changed, 137 insertions(+), 61 deletions(-)

--
2.37.2
  

Comments

Conor Walsh Jan. 16, 2023, 4:09 p.m. UTC | #1
Hi Bruce,

This patchset breaks the dmadev autotest for IOAT on IceLake.

Trace below:

### Test dmadev instance 0 [0000:00:01.0]
IOAT.status: ACTIVE [0x100242880]
DMA Dev 0: Running copy Tests
Ops submitted: 85120    Ops completed: 85120    Errors: 0
DMA Dev 0: Running stop-start Tests
IOAT.status: ACTIVE [0x100242880]
IOAT.status: ACTIVE [0x100242880]
Ops submitted: 1        Ops completed: 1        Errors: 0
DMA Dev 0: Running burst capacity Tests
Ops submitted: 65536    Ops completed: 65536    Errors: 0
DMA Dev 0: Running error handling Tests (errors expected)
In test_failure_in_full_burst:390 - Error, missing expected failed copy, 0. has_error is not set
In runtest:58 -
Error, not all submitted jobs are reported as completed
In test_dma:940 - Error, test failure for device 0
Test Faileded: 16       Ops completed: 0        Errors: 0
RTE>>IOAT: ioat_dmadev_remove(): Closing 0000:00:01.0 on NUMA node 0

Thanks,
Conor.


> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Monday 16 January 2023 15:37
> To: dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>
> Subject: [PATCH 0/5] dma/ioat: fix issues with stopping and restarting device
> 
> This patchset fixes a couple of problems with stopping and restarting an
> ioat DMA device. Following the two fixes, a series of improvements are
> made to the dmadev unit tests to properly validate that dmadevs work
> correctly as they are started and stopped, and ensure that no other or
> future drivers will suffer from issues.
> 
> Bruce Richardson (5):
>   dma/ioat: fix device stop if no copies done
>   dma/ioat: fix incorrectly set indexes after restart
>   test/dmadev: check result for device stop
>   test/dmadev: create separate function for single copy test
>   test/dmadev: add tests for stopping and restarting dev
> 
>  app/test/test_dmadev.c         | 172 ++++++++++++++++++++++-----------
>  drivers/dma/ioat/ioat_dmadev.c |  26 ++++-
>  2 files changed, 137 insertions(+), 61 deletions(-)
> 
> --
> 2.37.2
  
Bruce Richardson Jan. 16, 2023, 4:38 p.m. UTC | #2
On Mon, Jan 16, 2023 at 04:09:19PM +0000, Walsh, Conor wrote:
> Hi Bruce,
> 
> This patchset breaks the dmadev autotest for IOAT on IceLake.
> 
> Trace below:
> 
> ### Test dmadev instance 0 [0000:00:01.0] IOAT.status: ACTIVE
> [0x100242880] DMA Dev 0: Running copy Tests Ops submitted: 85120    Ops
> completed: 85120    Errors: 0 DMA Dev 0: Running stop-start Tests
> IOAT.status: ACTIVE [0x100242880] IOAT.status: ACTIVE [0x100242880] Ops
> submitted: 1        Ops completed: 1        Errors: 0 DMA Dev 0: Running
> burst capacity Tests Ops submitted: 65536    Ops completed: 65536
> Errors: 0 DMA Dev 0: Running error handling Tests (errors expected) In
> test_failure_in_full_burst:390 - Error, missing expected failed copy, 0.
> has_error is not set In runtest:58 - Error, not all submitted jobs are
> reported as completed In test_dma:940 - Error, test failure for device 0
> Test Faileded: 16       Ops completed: 0        Errors: 0 RTE>>IOAT:
> ioat_dmadev_remove(): Closing 0000:00:01.0 on NUMA node 0
> 
> Thanks, Conor.
> 
Thanks for catching this, Conor. I was testing on a system using noiommu
mode, so those error tests were getting skipped. I'll investigate and do a
v2.

/Bruce