On 7/6/2026 7:55 PM, Raghavendra Ningoji wrote:
> test_dmadev_setup() aborts the entire "DMA dev instance" test suite
> with a hard failure when rte_dma_burst_capacity() reports fewer than
> 32 descriptors. Some DMA engines expose a small hardware ring; for
> example a 32-entry ring that reserves one slot to distinguish a full
> ring from an empty one leaves only 31 descriptors usable. Such a
> device genuinely cannot run the instance tests, which enqueue 32-deep
> bursts, but it should be reported as skipped rather than failed.
> 
> Return TEST_SKIPPED instead, matching test_dmadev_burst_setup() which
> already skips (rather than fails) when the capacity is below 64.
> 
> Signed-off-by: Raghavendra Ningoji <[email protected]>
> ---
>  app/test/test_dmadev.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c
> index 5488a1af33..1cfa8c1e10 100644
> --- a/app/test/test_dmadev.c
> +++ b/app/test/test_dmadev.c
> @@ -1397,8 +1397,12 @@ test_dmadev_setup(void)
>       if (rte_dma_stats_get(dev_id, vchan, &stats) != 0)
>               ERR_RETURN("Error with rte_dma_stats_get()\n");
>  
> -     if (rte_dma_burst_capacity(dev_id, vchan) < 32)
> -             ERR_RETURN("Error: Device does not have sufficient burst 
> capacity to run tests");
> +     if (rte_dma_burst_capacity(dev_id, vchan) < 32) {
> +             RTE_LOG(ERR, USER1,
> +                     "DMA Dev %u: insufficient burst capacity (32 required), 
> skipping tests\n",
> +                     dev_id);
> +             return TEST_SKIPPED;
> +     }

This approach is also acceptable, but I think this test, as a community
"free gift", should be supported as much as possible. So I would suggest
you modify the relevant code to support this test, but it is not mandatory.

Thanks

>  
>       if (stats.completed != 0 || stats.submitted != 0 || stats.errors != 0)
>               ERR_RETURN("Error device stats are not all zero: completed = 
> %"PRIu64", "

Reply via email to